You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by re...@apache.org on 2022/04/08 09:03:17 UTC

[uima-uimaj] 01/01: [UIMA-6265] Drop SOAP support from UIMAv3

This is an automated email from the ASF dual-hosted git repository.

rec pushed a commit to branch refactoring/UIMA-6265-Drop-SOAP-support-from-UIMAv3
in repository https://gitbox.apache.org/repos/asf/uima-uimaj.git

commit 49da3a42d40fd304c1b3557ff45e7dea9d60b410
Author: Richard Eckart de Castilho <re...@apache.org>
AuthorDate: Fri Apr 8 11:03:09 2022 +0200

    [UIMA-6265] Drop SOAP support from UIMAv3
    
    - Remove the venerable SOAP support
---
 aggregate-uimaj/pom.xml                            |   1 -
 installEclipseSettings.sh                          |   1 -
 jVinci/pom.xml                                     |   3 +-
 pom.xml                                            |   5 -
 src/main/assembly/bin-without-jackson.xml          |  12 -
 src/main/assembly/bin.xml                          |  12 -
 src/main/assembly/src.xml                          |   9 -
 src/main/readme_src/addSourceToJars.bat            |   3 -
 src/main/readme_src/addSourceToJars.sh             |   3 -
 .../readme_src/packageAllJavaSourcesIntoJar.xml    |   1 -
 src/main/scripts/setUimaClassPath.bat              |   1 -
 src/main/scripts/setUimaClassPath.sh               |   1 -
 .../src/docbook/conceptual_overview.xml            |   3 +-
 .../src/docbook/ref.xml.component_descriptor.xml   |  10 +-
 uima-docbook-tools/src/docbook/tools.cde.xml       |   5 +-
 .../src/docbook/tug.application.xml                | 208 +---------
 .../src/docbook/tug.cpe.xml                        |   8 +-
 .../src/docbook/tug.type_mapping.xml               |   9 +-
 uimaj-adapter-soap/.gitignore                      |   2 -
 uimaj-adapter-soap/pom.xml                         |  79 ----
 .../soap/AxisAnalysisEngineServiceStub.java        | 204 ----------
 .../soap/AxisAnalysisEngineService_impl.java       |  93 -----
 .../adapter/soap/AxisResourceServiceManager.java   | 163 --------
 .../uima/adapter/soap/AxisResourceServiceStub.java | 118 ------
 .../uima/adapter/soap/BinaryDeserializer.java      | 203 ----------
 .../adapter/soap/BinaryDeserializerFactory.java    |  76 ----
 .../apache/uima/adapter/soap/BinarySerializer.java | 170 ---------
 .../uima/adapter/soap/BinarySerializerFactory.java |  95 -----
 .../soap/SoapAnalysisEngineServiceAdapter.java     |  95 -----
 .../apache/uima/adapter/soap/XmlDeserializer.java  | 196 ----------
 .../uima/adapter/soap/XmlDeserializerFactory.java  |  76 ----
 .../apache/uima/adapter/soap/XmlSerializer.java    | 204 ----------
 .../uima/adapter/soap/XmlSerializerFactory.java    |  78 ----
 .../soap/axis11/BinaryDeserializer_Axis11.java     | 203 ----------
 .../soap/axis11/BinarySerializer_Axis11.java       | 170 ---------
 .../soap/axis11/XmlDeserializer_Axis11.java        | 196 ----------
 .../adapter/soap/axis11/XmlSerializer_Axis11.java  | 204 ----------
 .../VinciAnalysisEngineServiceAdapterTest.java     |   7 +-
 .../src/main/java/org/apache/uima/Constants.java   |   8 +
 .../src/main/java/org/apache/uima/UimaContext.java |   2 +-
 .../org/apache/uima/cas/impl/BinaryCasSerDes.java  |   2 +-
 .../java/org/apache/uima/cas/impl/CASImpl.java     |   2 +-
 .../org/apache/uima/cas/impl/CASSerializer.java    |   4 +-
 .../uima/internal/util/SerializationUtils.java     |   6 +-
 .../org/apache/uima/impl/factoryConfig.xml         | 422 ++++++++++++++-------
 .../impl/AnalysisEngineDescription_implTest.java   |  15 -
 .../impl/TaeDescription_implTest.java              |  11 +-
 .../impl/CasConsumerDescription_implTest.java      |   2 +-
 .../impl/CasInitializerDescription_implTest.java   |   2 +-
 .../impl/CollectionReaderDescription_implTest.java |   2 +-
 .../org/apache/uima/util/CasCreationUtilsTest.java |  21 +-
 .../AggregateTaeWithSoapDelegate.xml               |  58 ---
 .../test/resources/CasCreationUtilsTest/SoapAE.xml |  25 --
 .../editors/ui/AggregateSection.java               |  83 ++--
 .../editors/ui/dialogs/AddRemoteServiceDialog.java |  13 +-
 uimaj-ep-runtime/pom.xml                           |  18 -
 .../soap/Deploy_GovernmentTitleRecognizer.wsdd     |  54 ---
 .../deploy/soap/Deploy_NamesAndPersonTitles.wsdd   |  54 ---
 .../deploy/soap/Deploy_PersonTitleAnnotator.wsdd   |  55 ---
 .../deploy/soap/Deploy_SimpleNameRecognizer.wsdd   |  55 ---
 .../soap/Undeploy_GovernmentTitleRecognizer.wsdd   |  27 --
 .../deploy/soap/Undeploy_NamesAndPersonTitles.wsdd |  26 --
 .../deploy/soap/Undeploy_PersonTitleAnnotator.wsdd |  26 --
 .../deploy/soap/Undeploy_SimpleNameRecognizer.wsdd |  26 --
 .../GovernmentTitleRecognizerService.xml           |  28 --
 .../soapService/NamesAndPersonTitlesService.xml    |  28 --
 .../soapService/PersonTitleAnnotatorService.xml    |  28 --
 .../soapService/SimpleNameRecognizerService.xml    |  28 --
 uimaj-examples/src/main/eclipseProject/classpath   |   1 -
 .../apache/uima/tools/migration/packageMapping.txt |   3 -
 .../uima/tools/migration/stringReplacements.txt    |   1 -
 71 files changed, 388 insertions(+), 3675 deletions(-)

diff --git a/aggregate-uimaj/pom.xml b/aggregate-uimaj/pom.xml
index ea58eb034..a6141ba2d 100644
--- a/aggregate-uimaj/pom.xml
+++ b/aggregate-uimaj/pom.xml
@@ -41,7 +41,6 @@
     <module>../uimaj-examples</module>
     <module>../uimaj-tools</module>
     <module>../uimaj-adapter-vinci</module>
-    <module>../uimaj-adapter-soap</module>
     <module>../uimaj-test-util</module>
     <module>../uimaj-component-test-util</module>
     <module>../jVinci</module>
diff --git a/installEclipseSettings.sh b/installEclipseSettings.sh
index e990fd78b..2c89c6920 100755
--- a/installEclipseSettings.sh
+++ b/installEclipseSettings.sh
@@ -35,7 +35,6 @@ installPrefs jVinci
 installPrefs uima-docbook-tutorials-and-users-guides
 installPrefs PearPackagingMavenPlugin
 installPrefs uimaj-test-util
-installPrefs uimaj-adapter-soap
 installPrefs uimaj-eclipse-feature-runtime
 installPrefs uima-docbook-references
 installPrefs uimaj-ep-cas-editor
diff --git a/jVinci/pom.xml b/jVinci/pom.xml
index ac9a9a4dd..58df74c92 100644
--- a/jVinci/pom.xml
+++ b/jVinci/pom.xml
@@ -32,8 +32,7 @@
   <artifactId>jVinci</artifactId>
   <packaging>jar</packaging>
   <name>Apache UIMA Base: ${project.artifactId}: Vinci Transport Library</name>
-  <description>This is a non-standard protocol for higher efficiency than
-    SOAP, used by the base UIMA Collection processing manager for supporting
+  <description>This is a protocol used by the base UIMA Collection processing manager for supporting
     networked deployment.  See UIMA-AS as a more modern alternative supporting
     more standard protocols.</description>
   <url>${uimaWebsiteUrl}</url>
diff --git a/pom.xml b/pom.xml
index e53c4a911..e08034fc6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,11 +63,6 @@
       <artifactId>uimaj-adapter-vinci</artifactId>
       <version>${project.version}</version>
     </dependency>
-    <dependency>
-      <groupId>org.apache.uima</groupId> 
-      <artifactId>uimaj-adapter-soap</artifactId>
-      <version>${project.version}</version>
-    </dependency>
     <dependency>
       <groupId>org.apache.uima</groupId> 
       <artifactId>uimaj-bootstrap</artifactId>
diff --git a/src/main/assembly/bin-without-jackson.xml b/src/main/assembly/bin-without-jackson.xml
index 9e08738fd..1f33308b7 100644
--- a/src/main/assembly/bin-without-jackson.xml
+++ b/src/main/assembly/bin-without-jackson.xml
@@ -103,18 +103,6 @@ under the License.
       <fileMode>644</fileMode> 
       <directoryMode>755</directoryMode>        
     </dependencySet>
-    <dependencySet>
-      <includes>
-        <include>org.apache.uima:uimaj-adapter-soap</include>
-      </includes>
-      <unpack>false</unpack>
-      <scope>runtime</scope>
-      <outputFileNameMapping>uima-adapter-soap.jar</outputFileNameMapping>
-      <outputDirectory>lib</outputDirectory>
-      <useProjectArtifact>false</useProjectArtifact>
-      <fileMode>644</fileMode> 
-      <directoryMode>755</directoryMode>        
-    </dependencySet>
     <dependencySet>
       <includes>
         <include>org.apache.uima:uimaj-adapter-vinci</include>
diff --git a/src/main/assembly/bin.xml b/src/main/assembly/bin.xml
index 37ea561f6..99c3a7fa5 100644
--- a/src/main/assembly/bin.xml
+++ b/src/main/assembly/bin.xml
@@ -103,18 +103,6 @@ under the License.
       <fileMode>644</fileMode> 
       <directoryMode>755</directoryMode>        
     </dependencySet>
-    <dependencySet>
-      <includes>
-        <include>org.apache.uima:uimaj-adapter-soap</include>
-      </includes>
-      <unpack>false</unpack>
-      <scope>runtime</scope>
-      <outputFileNameMapping>uima-adapter-soap.jar</outputFileNameMapping>
-      <outputDirectory>lib</outputDirectory>
-      <useProjectArtifact>false</useProjectArtifact>
-      <fileMode>644</fileMode> 
-      <directoryMode>755</directoryMode>        
-    </dependencySet>
     <dependencySet>
       <includes>
         <include>org.apache.uima:uimaj-adapter-vinci</include>
diff --git a/src/main/assembly/src.xml b/src/main/assembly/src.xml
index 2d3a2a70c..15c144eb4 100644
--- a/src/main/assembly/src.xml
+++ b/src/main/assembly/src.xml
@@ -266,15 +266,6 @@ under the License.
       </excludes>
       <fileMode>644</fileMode>
     </fileSet>
-    <fileSet>
-      <directory>../uimaj-adapter-soap</directory>
-      <outputDirectory>/uimaj-adapter-soap</outputDirectory>
-      <excludes>
-        <exclude>target/**</exclude>
-        <exclude>.*/**</exclude>
-      </excludes>
-      <fileMode>644</fileMode>
-    </fileSet>
     <fileSet>
       <directory>../uimaj-adapter-vinci</directory>
       <outputDirectory>/uimaj-adapter-vinci</outputDirectory>
diff --git a/src/main/readme_src/addSourceToJars.bat b/src/main/readme_src/addSourceToJars.bat
index 1ae6fae1e..12909c8fa 100644
--- a/src/main/readme_src/addSourceToJars.bat
+++ b/src/main/readme_src/addSourceToJars.bat
@@ -32,9 +32,6 @@ if "%JAVA_HOME%"=="" (set UIMA_JAR_CALL=jar) else (set "UIMA_JAR_CALL=%JAVA_HOME
 cd jVinci\src\main\java
 "%UIMA_JAR_CALL%" -uvf "%UIMA_HOME%\lib\jVinci.jar" *
 
-cd ..\..\..\..\uimaj-adapter-soap\src\main\java
-"%UIMA_JAR_CALL%" -uvf "%UIMA_HOME%\lib\uima-adapter-soap.jar" *
-
 cd ..\..\..\..\uimaj-adapter-vinci\src\main\java
 "%UIMA_JAR_CALL%" -uvf "%UIMA_HOME%\lib\uima-adapter-vinci.jar" *
 
diff --git a/src/main/readme_src/addSourceToJars.sh b/src/main/readme_src/addSourceToJars.sh
index 7b76ea365..f0392398c 100644
--- a/src/main/readme_src/addSourceToJars.sh
+++ b/src/main/readme_src/addSourceToJars.sh
@@ -33,9 +33,6 @@ fi
 cd jVinci/src/main/java
 "$UIMA_JAR_CALL" -uvf "$UIMA_HOME/lib/jVinci.jar" *
 
-cd ../../../../uimaj-adapter-soap/src/main/java
-"$UIMA_JAR_CALL" -uvf "$UIMA_HOME/lib/uima-adapter-soap.jar" *
-
 cd ../../../../uimaj-adapter-vinci/src/main/java
 "$UIMA_JAR_CALL" -uvf "$UIMA_HOME/lib/uima-adapter-vinci.jar" *
 
diff --git a/src/main/readme_src/packageAllJavaSourcesIntoJar.xml b/src/main/readme_src/packageAllJavaSourcesIntoJar.xml
index 6a5f11f9e..13e709503 100644
--- a/src/main/readme_src/packageAllJavaSourcesIntoJar.xml
+++ b/src/main/readme_src/packageAllJavaSourcesIntoJar.xml
@@ -51,7 +51,6 @@
 		     duplicate="preserve"
 	  	   >
 	  	<fileset dir="${srcBaseDir}/jVinci/src/main/java" excludes="**/.svn*" erroronmissingdir="false"/>
-	  	<fileset dir="${srcBaseDir}/uimaj-adapter-soap/src/main/java" excludes="**/.svn*" erroronmissingdir="false"/>
 	  	<fileset dir="${srcBaseDir}/uimaj-adapter-vinci/src/main/java" excludes="**/.svn*" erroronmissingdir="false"/>
 	  	<fileset dir="${srcBaseDir}/uimaj-as-activemq/src/main/java" excludes="**/.svn*" erroronmissingdir="false"/>
 	  	<fileset dir="${srcBaseDir}/uimaj-as-camel/src/main/java" excludes="**/.svn*" erroronmissingdir="false"/>
diff --git a/src/main/scripts/setUimaClassPath.bat b/src/main/scripts/setUimaClassPath.bat
index 5aff0a2e8..aacf48f03 100644
--- a/src/main/scripts/setUimaClassPath.bat
+++ b/src/main/scripts/setUimaClassPath.bat
@@ -31,7 +31,6 @@ goto EXIT
 @set UIMA_CLASSPATH=%UIMA_CLASSPATH%;%UIMA_HOME%\lib\uima-cpe.jar
 @set UIMA_CLASSPATH=%UIMA_CLASSPATH%;%UIMA_HOME%\lib\uima-tools.jar
 @set UIMA_CLASSPATH=%UIMA_CLASSPATH%;%UIMA_HOME%\lib\uima-examples.jar
-@set UIMA_CLASSPATH=%UIMA_CLASSPATH%;%UIMA_HOME%\lib\uima-adapter-soap.jar
 @set UIMA_CLASSPATH=%UIMA_CLASSPATH%;%UIMA_HOME%\lib\uima-adapter-vinci.jar
 @set UIMA_CLASSPATH=%UIMA_CLASSPATH%;%CATALINA_HOME%\webapps\axis\WEB-INF\lib\activation.jar
 @set UIMA_CLASSPATH=%UIMA_CLASSPATH%;%CATALINA_HOME%\webapps\axis\WEB-INF\lib\axis.jar
diff --git a/src/main/scripts/setUimaClassPath.sh b/src/main/scripts/setUimaClassPath.sh
index 0b1033cf7..55b377655 100644
--- a/src/main/scripts/setUimaClassPath.sh
+++ b/src/main/scripts/setUimaClassPath.sh
@@ -31,7 +31,6 @@ UIMA_CLASSPATH=$UIMA_CLASSPATH:$UIMA_HOME/lib/uima-document-annotation.jar
 UIMA_CLASSPATH=$UIMA_CLASSPATH:$UIMA_HOME/lib/uima-cpe.jar
 UIMA_CLASSPATH=$UIMA_CLASSPATH:$UIMA_HOME/lib/uima-tools.jar
 UIMA_CLASSPATH=$UIMA_CLASSPATH:$UIMA_HOME/lib/uima-examples.jar
-UIMA_CLASSPATH=$UIMA_CLASSPATH:$UIMA_HOME/lib/uima-adapter-soap.jar
 UIMA_CLASSPATH=$UIMA_CLASSPATH:$UIMA_HOME/lib/uima-adapter-vinci.jar
 UIMA_CLASSPATH=$UIMA_CLASSPATH:$CATALINA_HOME/webapps/axis/WEB-INF/lib/activation.jar
 UIMA_CLASSPATH=$UIMA_CLASSPATH:$CATALINA_HOME/webapps/axis/WEB-INF/lib/axis.jar
diff --git a/uima-docbook-overview-and-setup/src/docbook/conceptual_overview.xml b/uima-docbook-overview-and-setup/src/docbook/conceptual_overview.xml
index 3225f55ef..5501fdf9e 100644
--- a/uima-docbook-overview-and-setup/src/docbook/conceptual_overview.xml
+++ b/uima-docbook-overview-and-setup/src/docbook/conceptual_overview.xml
@@ -593,8 +593,7 @@ under the License.
       tightly-coupled</emphasis> (running in the same process) or <emphasis role="bold">
       loosely-coupled</emphasis> (running in separate processes or even on different
       machines). The framework supports a number of remote protocols for loose coupling
-      deployments of aggregate analysis engines, including SOAP (which stands for Simple
-      Object Access Protocol, a standard Web Services communications protocol).</para>
+      deployments of aggregate analysis engines.</para>
     
     <para>The UIMA framework facilitates the deployment of AEs as remote services by using an
       adapter layer that automatically creates the necessary infrastructure in response to
diff --git a/uima-docbook-references/src/docbook/ref.xml.component_descriptor.xml b/uima-docbook-references/src/docbook/ref.xml.component_descriptor.xml
index 83656c4db..95d31e07f 100644
--- a/uima-docbook-references/src/docbook/ref.xml.component_descriptor.xml
+++ b/uima-docbook-references/src/docbook/ref.xml.component_descriptor.xml
@@ -2420,15 +2420,14 @@ if (uimaContext != null) {
     <para>The UIMA SDK is extensible to support different types of remote services. In future
       versions, there may be different variations of service client descriptors that cater
       to different types of services. For now, the only type of service client descriptor is
-      the <literal>uriSpecifier</literal>, which supports the SOAP and Vinci
-      protocols.</para>
+      the <literal>uriSpecifier</literal>, which supports the Vinci protocol.</para>
     
     
     <programlisting><![CDATA[<?xml version="1.0" encoding="UTF-8" ?>
 <uriSpecifier xmlns="http://uima.apache.org/resourceSpecifier">
   <resourceType>AnalysisEngine | CasConsumer </resourceType>
   <uri>[URI]</uri> 
-  <protocol>SOAP | SOAPwithAttachments | Vinci</protocol> 
+  <protocol>Vinci</protocol> 
   <timeout>[Integer]</timeout>
   <parameters>
     <parameter name="VNS_HOST" value="some.internet.ip.name-or-address"/>
@@ -2446,9 +2445,8 @@ if (uimaContext != null) {
       that in the case of Vinci, this will be the service name, which is looked up in the Vinci
       Naming Service.)</para>
     
-    <para>The <literal>protocol</literal> element may be set to SOAP,
-      SOAPwithAttachments, or Vinci; other protocols may be added later. These specify the
-      particular data transport format that will be used.</para>
+    <para>The <literal>protocol</literal> element may be set to Vinci; other protocols may be added
+      later. These specify the particular data transport format that will be used.</para>
     
     <para>The <literal>timeout</literal> element is optional. If present, it specifies
       the number of milliseconds to wait for a request to be processed before an exception is
diff --git a/uima-docbook-tools/src/docbook/tools.cde.xml b/uima-docbook-tools/src/docbook/tools.cde.xml
index 0aaec0e91..617f3c7ee 100644
--- a/uima-docbook-tools/src/docbook/tools.cde.xml
+++ b/uima-docbook-tools/src/docbook/tools.cde.xml
@@ -362,13 +362,12 @@ under the License.
     </screenshot></para>
       
       <para>To define a remote service you specify the Service Kind, Protocol Service Type,
-        URI and Key. You can also specify a Timeout in milliseconds, used by the SOAP and
-        JMS services,
+        URI and Key. You can also specify a Timeout in milliseconds, used by the JMS services,
         and a VNS Host and Port used by the Vinci Service. 
         The JMS service has additional timeouts and other parameters you may specify. 
         Just like when one adds an engine from
         the file system, you have the option of adding the engine to the end of the flow. The
-        Component Descriptor Editor currently only supports Vinci and SOAP services using
+        Component Descriptor Editor currently only supports Vinci services using
         this dialog.</para>
       
       <para>Remote engines are added to the descriptor using the
diff --git a/uima-docbook-tutorials-and-users-guides/src/docbook/tug.application.xml b/uima-docbook-tutorials-and-users-guides/src/docbook/tug.application.xml
index 42a12edcc..763ee93a7 100644
--- a/uima-docbook-tutorials-and-users-guides/src/docbook/tug.application.xml
+++ b/uima-docbook-tutorials-and-users-guides/src/docbook/tug.application.xml
@@ -1203,15 +1203,11 @@ SimpleTokenAndSentenceAnnotator.xml</literallayout></para>
       Analysis Engine or CAS Consumer can then be called from a remote machine using various network
       protocols.</para>
     
-    <para>The UIMA SDK provides support for two communications protocols:
+    <para>The UIMA SDK provides support for the following communications protocols:
       
       <itemizedlist spacing="compact">
         <listitem>
-          <para>SOAP, the standard Web Services protocol</para>
-        </listitem>
-        
-        <listitem>
-          <para>Vinci, a lightweight version of SOAP, included as a part of Apache UIMA. </para>
+          <para>Vinci, a lightweight protocol, included as a part of Apache UIMA.</para>
         </listitem>
       </itemizedlist></para>
     
@@ -1220,8 +1216,7 @@ SimpleTokenAndSentenceAnnotator.xml</literallayout></para>
       <orderedlist>
         <listitem>
           <para>An Analysis Engine can create a proxy to a remote service; this proxy acts like a local component, but
-            connects to the remote. The proxy has limited error handling and retry capabilities. Both Vinci and SOAP
-            are supported.</para>
+            connects to the remote. The proxy has limited error handling and retry capabilities. The Vinci protocol is supported.</para>
         </listitem>
         
         <listitem>
@@ -1232,148 +1227,6 @@ SimpleTokenAndSentenceAnnotator.xml</literallayout></para>
         </listitem>
       </orderedlist></para>
     
-    <section id="ugr.tug.application.how_to_deploy_as_soap">
-      <title>Deploying a UIMA Component as a SOAP Service</title>
-      <titleabbrev>Deploying as SOAP Service</titleabbrev>
-      
-      <para>To deploy a UIMA component as a SOAP Web Service, you need to first install the following software
-        components:
-        
-        <itemizedlist spacing="compact">
-          <listitem>
-            <para>Apache Tomcat 5.0 or 5.5 ( <ulink url="http://jakarta.apache.org/tomcat/"/>) </para>
-          </listitem>
-          
-          <listitem>
-            <para>Apache Axis 1.3 or 1.4 (<ulink url="http://ws.apache.org/axis/"/>) </para>
-          </listitem>
-        </itemizedlist></para>
-      
-      <para>Later versions of these components will likely also work, but have not been tested.</para>
-      
-      <para>Next, you need to do the following setup steps:
-        
-        <itemizedlist>
-          <listitem>
-            <para>Set the CATALINA_HOME environment variable to the location where Tomcat is installed.</para>
-          </listitem>
-          
-          <listitem>
-            <para>Copy all of the JAR files from <literal>%UIMA_HOME%/lib</literal> to the
-              <literal>%CATALINA_HOME%/webapps/axis/WEB-INF/lib</literal> in your installation.</para>
-          </listitem>
-          
-          <listitem>
-            <para>Copy your JAR files for the UIMA components that you wish to
-              <literal>%CATALINA_HOME%/webapps/axis/WEB-INF/lib</literal> in your installation.</para>
-          </listitem>
-          
-          <listitem>
-            <para><emphasis role="bold-italic">IMPORTANT</emphasis>: any time you add JAR files to Tomcat (for
-              instance, in the above 2 steps), you must shutdown and restart Tomcat before it
-              <quote>notices</quote> this. So now, please shutdown and restart Tomcat.</para>
-          </listitem>
-          
-          <listitem>
-            <para>All the Java classes for the UIMA Examples are packaged in the
-              <literal>uima-examples.jar</literal> file which is included in the
-              <literal>%UIMA_HOME%/lib</literal> folder.</para>
-          </listitem>
-          
-          <listitem>
-            <para>In addition, if an annotator needs to locate resource files in the classpath, those resources
-              must be available in the Axis classpath, so copy these also to
-              <literal>%CATALINA_HOME%/webapps/axis/WEB-INF/classes</literal> .</para>
-            
-            <para>As an example, if you are deploying the GovernmentTitleRecognizer (found in
-              <literal>examples/descriptors/analysis_engine/
-              GovernmentOfficialRecognizer_RegEx_TAE</literal>) as a SOAP service, you need to copy the file
-              <literal>examples/resources/GovernmentTitlePatterns.dat</literal> into
-              <literal>.../WEB-INF/classes</literal>. </para>
-          </listitem>
-        </itemizedlist></para>
-      
-      <para>Test your installation of Tomcat and Axis by starting Tomcat and going to
-        <literal>http://localhost:8080/axis/happyaxis.jsp</literal> in your browser. Check to be sure that
-        this reports that all of the required Axis libraries are present. One common missing file may be
-        activation.jar, which you can get from java.sun.com.</para>
-      
-      <para>After completing these setup instructions, you can deploy Analysis Engines or CAS Consumers as SOAP web
-        services by using the <literal>deploytool</literal> utility, with is located in the
-        <literal>/bin</literal> directory of the UIMA SDK. <literal>deploytool</literal> is a command line
-        program utility that takes as an argument a web services deployment descriptors (WSDD file); example WSDD
-        files are provided in the <literal>examples/deploy/soap</literal> directory of the UIMA SDK. Deployment
-        Descriptors have been provided for deploying and undeploying some of the example Analysis Engines that come
-        with the SDK.</para>
-      
-      <para>As an example, the WSDD file for deploying the example Person Title annotator looks like this (important
-        parts are in bold italics):
-        
-        
-        <programlisting>&lt;deployment name="<emphasis role="bold-italic">PersonTitleAnnotator</emphasis>" 
-            xmlns="http://xml.apache.org/axis/wsdd/" 
-            xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"&gt;
-
-  &lt;service name="<emphasis role="bold-italic">urn:PersonTitleAnnotator</emphasis>" provider="java:RPC"&gt;
-
-    &lt;parameter name="scope" value="Request"/&gt;
-
-    &lt;parameter name="className" 
-      value="org.apache.uima.reference_impl.analysis_engine
-                .service.soap.AxisAnalysisEngineService_impl"/&gt;
-
-    &lt;parameter name="allowedMethods" value="getMetaData process"/&gt;
-    &lt;parameter name="allowedRoles" value="*"/&gt;
-    &lt;parameter name="resourceSpecifierPath" 
-      value="<emphasis role="bold-italic">C:/Program Files/apache/uima/examples/
-           descriptors/analysis_engine/PersonTitleAnnotator.xml</emphasis>"/&gt;
-
-    &lt;parameter name="numInstances" value="3"/&gt;
-
-    &lt;!-- Type Mappings omitted from this document; 
-          you will not need to edit them. --&gt;
-
-    &lt;typeMapping .../&gt;
-    &lt;typeMapping .../&gt;
-    &lt;typeMapping .../&gt;
-
-  &lt;/service&gt;
-
-&lt;/deployment&gt;</programlisting></para>
-      
-      <para>To modify this WSDD file to deploy your own Analysis Engine or CAS Consumer, just replace the areas
-        indicated in bold italics (deployment name, service name, and resource specifier path) with values
-        appropriate for your component.</para>
-      
-      <para>The <literal>numInstances</literal> parameter specifies how many instances of your Analysis Engine
-        or CAS Consumer will be created. This allows your service to support multiple clients concurrently. When a
-        new request comes in, if all of the instances are busy, the new request will wait until an instance becomes
-        available.</para>
-      
-      <para>To deploy the Person Title annotator service, issue the following command:
-        
-        
-        <programlisting>C:/Program Files/apache/uima/bin&gt;deploytool 
-../examples/deploy/soap/Deploy_PersonTitleAnnotator.wsdd</programlisting></para>
-      
-      <para>Test if the deployment was successful by starting up a browser, pointing it to your Tomcat
-        installation's <quote>axis</quote> webpage (e.g., <literal>http://localhost:8080/axis</literal>)
-        and clicking on the List link. This should bring up a page which shows the deployed services, where you should
-        see the service you just deployed.</para>
-      
-      <para>The other components can be deployed by replacing
-        <literal>Deploy_PersonTitleAnnotator.wsdd</literal> with one of the other Deploy descriptors in the
-        deploy directory. The deploytool utility can also undeploy services when passed one of the Undeploy
-        descriptors.</para> <note>
-      <para>The <literal>deploytool</literal> shell script assumes that the web services are to be installed at
-        <literal>http://localhost:8080/axis</literal>. If this is not the case, you will need to update the shell
-        script appropriately.</para> </note>
-      
-      <para>Once you have deployed your component as a web service, you may call it from a remote machine. See <xref
-          linkend="ugr.tug.application.how_to_call_a_uima_service"/> for instructions.</para>
-      
-    </section>
-    
     <section id="ugr.tug.application.how_to_deploy_a_vinci_service">
       <title>Deploying a UIMA Component as a Vinci Service</title>
       <titleabbrev>Deploying as a Vinci Service</titleabbrev>
@@ -1461,58 +1314,9 @@ SimpleTokenAndSentenceAnnotator.xml</literallayout></para>
       <para>To do this, you use a <emphasis>service client descriptor</emphasis> in place of the usual Analysis
         Engine or CAS Consumer Descriptor. A service client descriptor is a simple XML file that indicates the
         location of the remote service and a few parameters. Example service client descriptors are provided in the
-        UIMA SDK under the directories <literal>examples/descriptors/soapService</literal> and
-        <literal>examples/descriptors/vinciService</literal>. The contents of these descriptors are
-        explained below.</para>
-      
-      <para>Also, before you can call a SOAP service, you need to have the necessary Axis JAR files in your classpath.
-        If you use any of the scripts in the <literal>bin</literal> directory of the UIMA installation to launch your
-        application, such as documentAnalyzer, these JARs are added to the classpath, automatically, using the
-        <literal>CATALINA_HOME</literal> environment variable. The required files are the following (all part
-        of the Apache Axis download)
-        
-        <itemizedlist spacing="compact">
-          <listitem>
-            <para>activation.jar</para>
-          </listitem>
-          <listitem>
-            <para>axis.jar</para>
-          </listitem>
-          <listitem>
-            <para>commons-discovery.jar</para>
-          </listitem>
-          <listitem>
-            <para>commons-logging.jar</para>
-          </listitem>
-          <listitem>
-            <para>jaxrpc.jar</para>
-          </listitem>
-          <listitem>
-            <para>saaj.jar</para>
-          </listitem>
-        </itemizedlist></para>
+        UIMA SDK under the directories <literal>examples/descriptors/vinciService</literal>. The 
+        contents of these descriptors are explained below.</para>
       
-      <section id="ugr.tug.application.soap_service_client_descriptor">
-        <title>SOAP Service Client Descriptor</title>
-        
-        <para>The descriptor used to call the PersonTitleAnnotator SOAP service from the example above is:
-          
-          
-          <programlisting><![CDATA[<uriSpecifier xmlns="http://uima.apache.org/resourceSpecifier">
-   <resourceType>AnalysisEngine</resourceType>
-   <uri>http://localhost:8080/axis/services/urn:PersonTitleAnnotator</uri>
-    <protocol>SOAP</protocol>
-    <timeout>60000</timeout>           
-</uriSpecifier>]]></programlisting></para>
-        
-        <para>The &lt;resourceType&gt; element must contain either AnalysisEngine or CasConsumer. This
-          specifies what type of component you expect to be at the specified service address.</para>
-        
-        <para>The &lt;uri&gt; element describes which service to call. It specifies the host (localhost, in this
-          example) and the service name (urn:PersonTitleAnnotator), which must match the name specified in the
-          deployment descriptor used to deploy the service.</para>
-        
-      </section>
       <section id="ugr.tug.application.vinci_service_client_descriptor">
         <title>Vinci Service Client Descriptor</title>
         
@@ -1739,7 +1543,7 @@ Exception: Connection refused: connect</programlisting>
       <para>There are two types of timeout settings in UIMA, the <emphasis>client timeout</emphasis> and the
         <emphasis>server socket timeout</emphasis>. The client timeout is usually the most important, it
         specifies how long that client is willing to wait for the service to process each CAS. The client timeout can be
-        specified for both Vinci and SOAP. The server socket timeout (Vinci only) specifies how long the service
+        specified for Vinci. The server socket timeout (Vinci only) specifies how long the service
         holds the connection open between calls from the client. After this amount of time, the server will presume
         the client may have gone away - and it <quote>cleans up</quote>, releasing any resources it is holding. The
         next call to process on the service will cause the client to re-establish its connection with the service
diff --git a/uima-docbook-tutorials-and-users-guides/src/docbook/tug.cpe.xml b/uima-docbook-tutorials-and-users-guides/src/docbook/tug.cpe.xml
index 3e1d1faa8..993fac740 100644
--- a/uima-docbook-tutorials-and-users-guides/src/docbook/tug.cpe.xml
+++ b/uima-docbook-tutorials-and-users-guides/src/docbook/tug.cpe.xml
@@ -1056,13 +1056,7 @@ mCPE.process();</programlisting></para>
       information). Service naming and location are provided by a <emphasis>Vinci Naming
       Service</emphasis>, or <emphasis>VNS</emphasis>. For managed CAS Processors, the
       CPE uses its own internal VNS. For non-managed CAS Processors, a separate VNS must be
-      running.</para> <note><para>The UIMA SDK also supports using unmanaged remote
-    services via the web-standard SOAP communications protocol (see <olink
-      targetdoc="&uima_docs_tutorial_guides;"
-      targetptr="ugr.tug.application.how_to_deploy_as_soap"/>. This approach is
-    based on a proxy implementation, where the proxy is essentially running in an integrated
-    mode. To use this approach with the CPM, use the Integrated mode, with the component being
-    an Aggregate which, in turn, connects to a remote service. </para></note>
+      running.</para>
     
     <para>The CPE Configurator tool currently only supports constructing CPEs that deploy
       CAS Processors in integrated mode. To deploy CAS Processors in any other mode, the CPE
diff --git a/uima-docbook-tutorials-and-users-guides/src/docbook/tug.type_mapping.xml b/uima-docbook-tutorials-and-users-guides/src/docbook/tug.type_mapping.xml
index 204d4ed84..a7590bd42 100644
--- a/uima-docbook-tutorials-and-users-guides/src/docbook/tug.type_mapping.xml
+++ b/uima-docbook-tutorials-and-users-guides/src/docbook/tug.type_mapping.xml
@@ -61,16 +61,13 @@ under the License.
 	  different approaches to support this.</para> 
 	  
 	  <note><para>
-    Base UIMA includes support for SOAP and VINCI
-    protocols (but these are both older, and do not support newer features of the CAS like
+    Base UIMA includes support for the VINCI
+    protocol (but this is older, and do not support newer features of the CAS like
     CAS Multipliers and multiple Views).   
     </para></note>
 	  
 	  
-	  <para>The SOAP remote service sends the entire
-	  CAS, along with the Client's type system.  At the remote, the Client's type 
-	  system is deserialized and used as the remote's type system.  For Vinci and UIMA-AS
-	  using XMI, the "reachable" Feature Structures (only) are sent.  A reachable 
+	  <para>For Vinci and UIMA-AS	using XMI, the "reachable" Feature Structures (only) are sent.  A reachable 
     Feature Structure is one that is indexed, or is reachable via a 
     reference from another reachable Feature Structure.  The receiving service's 
     type system is guaranteed to be a subset of the sender.  Special code in the 
diff --git a/uimaj-adapter-soap/.gitignore b/uimaj-adapter-soap/.gitignore
deleted file mode 100644
index 00d2ab71d..000000000
--- a/uimaj-adapter-soap/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/.apt_generated/
-/.apt_generated_tests/
diff --git a/uimaj-adapter-soap/pom.xml b/uimaj-adapter-soap/pom.xml
deleted file mode 100644
index 4fe22c903..000000000
--- a/uimaj-adapter-soap/pom.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-   Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing,
-   software distributed under the License is distributed on an
-   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-   KIND, either express or implied.  See the License for the
-   specific language governing permissions and limitations
-   under the License.    
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-  
-  <parent>
-    <groupId>org.apache.uima</groupId>
-    <artifactId>uimaj-parent</artifactId>
-    <version>3.3.0-SNAPSHOT</version>
-    <relativePath>../uimaj-parent/pom.xml</relativePath>
-  </parent>
-
-	<artifactId>uimaj-adapter-soap</artifactId>
-	<packaging>jar</packaging>
-	<name>Apache UIMA Base: ${project.artifactId}: SOAP Adapter</name>
-  <description>Provides the capability to connect to a remote
-    component, using the SOAP protocol</description>
-  <url>${uimaWebsiteUrl}</url>
-  
-  <properties>
-    <postNoticeText>${ibmNoticeText}</postNoticeText>
-  </properties>
-  
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.uima</groupId>
-			<artifactId>uimaj-core</artifactId>
-			<version>${project.parent.version}</version>
-			<scope>compile</scope>
-		</dependency>
-		<dependency>
-			<groupId>axis</groupId>
-			<artifactId>axis</artifactId>
-			<version>1.3</version>
-			<scope>compile</scope>
-		</dependency>
-		<dependency>
-			<groupId>axis</groupId>
-			<artifactId>axis-jaxrpc</artifactId>
-			<version>1.3</version>
-			<scope>compile</scope>
-		</dependency>
-		<!--dependency>
-			<groupId>javax.activation</groupId>
-			<artifactId>activation</artifactId>
-			<version>1.0.2</version>
-			<scope>compile</scope>
-		</dependency-->
-    <!-- based on community feedback, switching to this apache-licensed version of the above.
-         See https://article.gmane.org/gmane.comp.apache.incubator.general/17889 -->
-    <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-activation_1.0.2_spec</artifactId>
-      <version>1.2</version>
-      <scope>compile</scope>
-    </dependency>
-	</dependencies>
-  
-	<build>
-		<finalName>uima-adapter-soap</finalName>
-	</build>	
-</project>
\ No newline at end of file
diff --git a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/AxisAnalysisEngineServiceStub.java b/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/AxisAnalysisEngineServiceStub.java
deleted file mode 100644
index ce65ecb66..000000000
--- a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/AxisAnalysisEngineServiceStub.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.uima.adapter.soap;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.net.MalformedURLException;
-
-import javax.activation.DataHandler;
-import javax.xml.namespace.QName;
-import javax.xml.rpc.ServiceException;
-
-import org.apache.axis.attachments.AttachmentPart;
-import org.apache.axis.attachments.AttachmentUtils;
-import org.apache.axis.client.Call;
-import org.apache.axis.client.Service;
-import org.apache.uima.analysis_engine.AnalysisEngineServiceStub;
-import org.apache.uima.analysis_engine.ResultSpecification;
-import org.apache.uima.analysis_engine.service.impl.AnalysisEngineService_impl;
-import org.apache.uima.analysis_engine.service.impl.ServiceDataCargo;
-import org.apache.uima.cas.CAS;
-import org.apache.uima.cas.CASException;
-import org.apache.uima.resource.ResourceServiceException;
-import org.apache.uima.resource.ResourceServiceStub;
-
-/**
- * Proxy to an {@link AnalysisEngineService_impl} that makes use of Axis SOAP to communicate with
- * the service.
- * 
- * 
- */
-public class AxisAnalysisEngineServiceStub extends AxisResourceServiceStub
-        implements AnalysisEngineServiceStub {
-
-  /** Whether attachments should be used to send binary-serialized data. */
-  private boolean mUseAttachments;
-
-  /**
-   * Sets the endpoint of the service with which this proxy communicates.
-   * 
-   * @param aEndpoint
-   *          the service endpoint URI
-   * @param aTimeout
-   *          the timeout period in millseconds, or null to use Axis's default value
-   * 
-   * @throws MalformedURLException
-   *           if <code>aEndpoint</code> is not a valid URL
-   */
-  public AxisAnalysisEngineServiceStub(String aEndpoint, Integer aTimeout)
-          throws MalformedURLException {
-    this(aEndpoint, aTimeout, false);
-  }
-
-  /**
-   * Sets the endpoint of the service with which this proxy communicates.
-   * 
-   * @param aEndpoint
-   *          the service endpoint URI
-   * @param aTimeout
-   *          the timeout period in millseconds, or null to use Axis's default value
-   * @param aUseAttachments
-   *          whether attachments should be used to send binary-serialized data
-   * 
-   * @throws MalformedURLException
-   *           if <code>aEndpoint</code> is not a valid URL
-   */
-  public AxisAnalysisEngineServiceStub(String aEndpoint, Integer aTimeout, boolean aUseAttachments)
-          throws MalformedURLException {
-    super(aEndpoint, aTimeout);
-    mUseAttachments = aUseAttachments;
-  }
-
-  /**
-   * Call process.
-   *
-   * @param aCAS
-   *          the a CAS
-   * @throws ResourceServiceException
-   *           the resource service exception
-   * @see AnalysisEngineServiceStub#callProcess(CAS)
-   */
-  @Override
-  public void callProcess(CAS aCAS) throws ResourceServiceException {
-    final QName operationQName = new QName("http://uima.apache.org/analysis_engine", "process");
-    final QName resultSpecTypeQName = new QName("http://uima.apache.org/analysis_engine",
-            "resultSpecification");
-    final QName serviceDataCargoTypeQName = new QName("http://uima.apache.org/analysis_engine",
-            "serviceDataCargo");
-
-    try {
-      Service service = new Service();
-      Call call = (Call) service.createCall();
-
-      call.setTargetEndpointAddress(getServiceEndpoint());
-      call.setTimeout(getTimeout());
-      call.setOperationName(operationQName);
-
-      call.registerTypeMapping(ResultSpecification.class, resultSpecTypeQName,
-              new XmlSerializerFactory(), new XmlDeserializerFactory());
-      call.registerTypeMapping(ServiceDataCargo.class, serviceDataCargoTypeQName,
-              new BinarySerializerFactory(mUseAttachments), new BinaryDeserializerFactory());
-
-      // extract data from CAS to prepare for binary serialization
-      // (do not send process trace)
-      ServiceDataCargo dataCargo = new ServiceDataCargo(aCAS, null);
-      // call service
-      Object result = call.invoke(new Object[] { dataCargo, null });
-      // System.out.println("Got return value of class: " + result.getClass().getName()); //DEBUG
-      ServiceDataCargo resultCargo = null;
-      // if result was attachment, extract data and deserialize
-      if (result instanceof AttachmentPart) {
-        ObjectInputStream objStream = null;
-        try {
-          DataHandler dataHandler = AttachmentUtils
-                  .getActivationDataHandler((AttachmentPart) result);
-          Object content = dataHandler.getContent();
-          // System.out.println(content.getClass().getName());
-          objStream = new ObjectInputStream((InputStream) content);
-          resultCargo = (ServiceDataCargo) objStream.readObject();
-        } catch (IOException e) {
-          throw new ResourceServiceException(e);
-        } catch (ClassNotFoundException e) {
-          throw new ResourceServiceException(e);
-        } finally {
-          if (objStream != null) {
-            try {
-              objStream.close();
-            } catch (IOException e) {
-              throw new ResourceServiceException(e);
-            }
-          }
-        }
-      } else if (result instanceof ServiceDataCargo) // direct return
-      {
-        resultCargo = (ServiceDataCargo) result;
-      } else {
-        throw new ResourceServiceException(
-                ResourceServiceException.UNEXPECTED_SERVICE_RETURN_VALUE_TYPE,
-                new Object[] { ServiceDataCargo.class.getName(),
-                    resultCargo == null ? "null" : resultCargo.getClass().getName() });
-      }
-
-      // unmarshal analysis results into the original AnalysisProcessData object
-      // (do not replace CAS type system, as it should not have been changed
-      // by the service)
-      resultCargo.unmarshalCas(aCAS, false);
-    } catch (ServiceException e) {
-      throw new ResourceServiceException(e);
-    } catch (java.rmi.RemoteException e) {
-      throw new ResourceServiceException(e);
-    } catch (CASException e) {
-      throw new ResourceServiceException(e);
-    }
-  }
-
-  /**
-   * Destroy.
-   *
-   * @see ResourceServiceStub#destroy()
-   */
-  @Override
-  public void destroy() {
-    // no resources to clean up
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see org.apache.uima.analysis_engine.AnalysisEngineServiceStub#callBatchProcessComplete()
-   */
-  @Override
-  public void callBatchProcessComplete() throws ResourceServiceException {
-    // currently not implemented for SOAP services
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see org.apache.uima.analysis_engine.AnalysisEngineServiceStub#callCollectionProcessComplete()
-   */
-  @Override
-  public void callCollectionProcessComplete() throws ResourceServiceException {
-    // currently not implemented for SOAP services
-  }
-
-}
diff --git a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/AxisAnalysisEngineService_impl.java b/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/AxisAnalysisEngineService_impl.java
deleted file mode 100644
index 053785fbc..000000000
--- a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/AxisAnalysisEngineService_impl.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.uima.adapter.soap;
-
-import org.apache.axis.AxisFault;
-import org.apache.uima.UIMAFramework;
-import org.apache.uima.analysis_engine.ResultSpecification;
-import org.apache.uima.analysis_engine.service.impl.AnalysisEngineService_impl;
-import org.apache.uima.analysis_engine.service.impl.ServiceDataCargo;
-import org.apache.uima.resource.ResourceServiceException;
-import org.apache.uima.resource.metadata.ResourceMetaData;
-import org.apache.uima.util.Level;
-
-/**
- * A class used to deploy a {@link AnalysisEngineService_impl} as an Axis (SOAP) service.
- */
-public class AxisAnalysisEngineService_impl {
-  /**
-   * Class that will actually implement functionality for this service.
-   */
-  private AnalysisEngineService_impl mServiceImpl;
-
-  /**
-   * Constructor, responsible for initializing the service.
-   *
-   * @throws AxisFault
-   *           the axis fault
-   */
-  public AxisAnalysisEngineService_impl() throws AxisFault {
-    mServiceImpl = (AnalysisEngineService_impl) AxisResourceServiceManager
-            .getServiceImpl(AnalysisEngineService_impl.class);
-  }
-
-  /**
-   * Gets metadata for this Resource service.
-   *
-   * @return metadata
-   * @throws ResourceServiceException
-   *           the resource service exception
-   */
-  public ResourceMetaData getMetaData() throws ResourceServiceException {
-    try {
-      return mServiceImpl.getMetaData();
-    } catch (ResourceServiceException e) {
-      UIMAFramework.getLogger().log(Level.SEVERE, e.getMessage(), e);
-      throw e;
-    } catch (RuntimeException e) {
-      UIMAFramework.getLogger().log(Level.SEVERE, e.getMessage(), e);
-      throw e;
-    }
-  }
-
-  /**
-   * Processes an entity.
-   *
-   * @param aData
-   *          data to be processed
-   * @param aResultSpec
-   *          specifies which results the Analysis Engine should produce
-   * @return the results of analysis
-   * @throws ResourceServiceException
-   *           the resource service exception
-   */
-  public ServiceDataCargo process(ServiceDataCargo aData, ResultSpecification aResultSpec)
-          throws ResourceServiceException {
-    try {
-      return mServiceImpl.process(aData, aResultSpec);
-    } catch (ResourceServiceException e) {
-      UIMAFramework.getLogger().log(Level.SEVERE, e.getMessage(), e);
-      throw e;
-    } catch (RuntimeException e) {
-      UIMAFramework.getLogger().log(Level.SEVERE, e.getMessage(), e);
-      throw e;
-    }
-  }
-}
diff --git a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/AxisResourceServiceManager.java b/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/AxisResourceServiceManager.java
deleted file mode 100644
index b3ef4effa..000000000
--- a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/AxisResourceServiceManager.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.uima.adapter.soap;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.axis.AxisFault;
-import org.apache.axis.Handler;
-import org.apache.axis.MessageContext;
-import org.apache.uima.UIMAFramework;
-import org.apache.uima.analysis_engine.AnalysisEngine;
-import org.apache.uima.analysis_engine.service.impl.AnalysisEngineService_impl;
-import org.apache.uima.resource.ResourceSpecifier;
-import org.apache.uima.resource.service.impl.ResourceService_impl;
-import org.apache.uima.util.Level;
-import org.apache.uima.util.Logger;
-import org.apache.uima.util.XMLInputSource;
-
-/**
- * Utility class for deploying Resources as Axis (SOAP) services. This class mantains a map between
- * Axis service names and the {@link ResourceService_impl} classes that provide the implementation
- * for those service names. This map is maintained as static data on this class so that it persists
- * between invocations of the Axis services.
- * <P>
- * SOAP service implementation classes call the static {@link #getServiceImpl(Class)} method from
- * their constructors. The service's name and configuration parameters will be read from the Axis
- * MessageContext. If a {@link ResourceService_impl} instance has already been registered under this
- * service's name, that instance will be returned. Otherwise, a new
- * <code>ResourceService_impl</code> will be created.
- */
-public class AxisResourceServiceManager {
-
-  /**
-   * The name of the deployment parameter whose value is the path to an XML resource specifier. This
-   * resource specifier is used to constuct Resource instances that process the requests received by
-   * this service. A value for this option must be speciifed in the deployment descriptor for this
-   * service.
-   */
-  public static final String PARAM_RESOURCE_SPECIFIER_PATH = "resourceSpecifierPath";
-
-  /**
-   * The name of the deployment parameter whose value is the number of instances of the Resource
-   * (specified by {@link #PARAM_RESOURCE_SPECIFIER_PATH}) to be created. The Resources are kept in
-   * a pool and used to service requests. A value for this option must be speciifed in the
-   * deployment descriptor for this service.
-   */
-  public static final String PARAM_NUM_INSTANCES = "numInstances";
-
-  /**
-   * The name of the deployment parameter whose value is a boolean indicating whether to write log
-   * messages during each service invocation. This currently applies only to Analysis Engine
-   * services.
-   */
-  public static final String PARAM_ENABLE_LOGGING = "enableLogging";
-
-  /**
-   * Map from service names to ResourceService_impl objects.
-   */
-  private static Map mResourceServiceImplMap = new HashMap();
-
-  /**
-   * Gets a {@link ResourceService_impl} class to be used to process an request.This method
-   * retrieves the service name and configuration parameters from the Axis MessageContext. If a
-   * {@link ResourceService_impl} object already exists for that service name, that object will be
-   * returned. Otherwise, a new <code>ResourceService_impl</code> object will be created from the
-   * information in the MessageContext.
-   *
-   * @param aServiceImplClass
-   *          the class that will be instantiated when a new <code>ResourceService_impl</code> is to
-   *          be created. This must be a subclass of ResourceService_impl.
-   * @return the service impl
-   * @throws AxisFault
-   *           if the configuration information could not be read
-   */
-  public static ResourceService_impl getServiceImpl(Class aServiceImplClass) throws AxisFault {
-    try {
-      MessageContext ctx = MessageContext.getCurrentContext();
-      if (ctx == null) {
-        throw new Exception("MessageContext = NULL");
-      }
-
-      Handler self = ctx.getService();
-      if (self == null) {
-        throw new Exception("Handler = NULL");
-      }
-
-      // Get service name
-      String serviceName = self.getName();
-
-      // see if we have a ResourceService_impl registered for that name
-      ResourceService_impl serviceImpl = (ResourceService_impl) mResourceServiceImplMap
-              .get(serviceName);
-      if (serviceImpl != null) {
-        return serviceImpl;
-      }
-
-      // No service impl registered for this service name, attempt to
-      // create a new one
-
-      // Get the Resource Specifier Path
-      String resourceSpecifierPath = (String) self.getOption(PARAM_RESOURCE_SPECIFIER_PATH);
-      if (resourceSpecifierPath == null || resourceSpecifierPath.trim().length() == 0) {
-        throw new Exception("Invalid Configuration - " + PARAM_RESOURCE_SPECIFIER_PATH
-                + " not Defined.  Check your deployment descriptor file (WSDD)");
-      }
-      // parse ResourceSpecifier
-      ResourceSpecifier resourceSpecifier = UIMAFramework.getXMLParser()
-              .parseResourceSpecifier(new XMLInputSource(resourceSpecifierPath));
-
-      // Get the number of instances to create
-      String numInstancesStr = (String) self.getOption(PARAM_NUM_INSTANCES);
-      int numInstances;
-      try {
-        numInstances = Integer.parseInt(numInstancesStr);
-      } catch (NumberFormatException e) {
-        throw new Exception("Invalid Configuration - " + PARAM_NUM_INSTANCES
-                + " not valid.  Check your deployment descriptor file (WSDD)");
-      }
-
-      // Get whether to enable logging
-      String enableLogStr = (String) self.getOption(PARAM_ENABLE_LOGGING);
-      boolean enableLog = "true".equalsIgnoreCase(enableLogStr);
-
-      // create and initialize the service implementation
-      serviceImpl = (ResourceService_impl) aServiceImplClass.newInstance();
-      HashMap initParams = new HashMap();
-      initParams.put(AnalysisEngine.PARAM_NUM_SIMULTANEOUS_REQUESTS, numInstances);
-      serviceImpl.initialize(resourceSpecifier, initParams);
-
-      // disable logging for Analysis Engines if deployer so indicated
-      if (!enableLog && serviceImpl instanceof AnalysisEngineService_impl) {
-        Logger nullLogger = UIMAFramework.newLogger();
-        nullLogger.setOutputStream(null);
-
-        ((AnalysisEngineService_impl) serviceImpl).getAnalysisEngine().setLogger(nullLogger);
-      }
-
-      mResourceServiceImplMap.put(serviceName, serviceImpl);
-      return serviceImpl;
-    } catch (Exception e) {
-      UIMAFramework.getLogger().log(Level.SEVERE, e.getMessage(), e);
-      throw AxisFault.makeFault(e);
-    }
-  }
-}
diff --git a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/AxisResourceServiceStub.java b/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/AxisResourceServiceStub.java
deleted file mode 100644
index 8c45a6c27..000000000
--- a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/AxisResourceServiceStub.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.uima.adapter.soap;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import javax.xml.namespace.QName;
-import javax.xml.rpc.ServiceException;
-
-import org.apache.axis.client.Call;
-import org.apache.axis.client.Service;
-import org.apache.uima.resource.ResourceServiceException;
-import org.apache.uima.resource.ResourceServiceStub;
-import org.apache.uima.resource.metadata.ResourceMetaData;
-import org.apache.uima.resource.service.impl.ResourceService_impl;
-
-/**
- * Proxy to a {@link ResourceService_impl} that uses Axis SOAP to communicate with the service.
- * 
- * 
- */
-public abstract class AxisResourceServiceStub implements ResourceServiceStub {
-
-  /**
-   * The service endpoint URL.
-   */
-  private URL mEndpoint;
-
-  /**
-   * Timeout in milliseconds; null to use Axis's default value.
-   */
-  private Integer mTimeout;
-
-  /**
-   * Sets the endpoint of the service with which this proxy communicates.
-   * 
-   * @param aEndpoint
-   *          the service endpoint URI
-   * @param aTimeout
-   *          timeout period in milliseconds, or null to use Axis's default value
-   * 
-   * @throws MalformedURLException
-   *           if <code>aEndpoint</code> is not a valid URL
-   */
-  public AxisResourceServiceStub(String aEndpoint, Integer aTimeout) throws MalformedURLException {
-    mEndpoint = new URL(aEndpoint);
-    mTimeout = aTimeout;
-  }
-
-  /**
-   * Call get meta data.
-   *
-   * @return the resource meta data
-   * @throws ResourceServiceException
-   *           the resource service exception
-   * @see ResourceService_impl#getMetaData()
-   */
-  @Override
-  public ResourceMetaData callGetMetaData() throws ResourceServiceException {
-    final QName operationQName = new QName("http://uima.apache.org/resource", "getMetaData");
-    final QName resourceMetaDataTypeQName = new QName("http://uima.apache.org/resourceSpecifier",
-            "resourceMetaData");
-
-    try {
-      Service service = new Service();
-      Call call = (Call) service.createCall();
-      call.setTimeout(getTimeout());
-      call.setTargetEndpointAddress(mEndpoint);
-      call.setOperationName(operationQName);
-
-      call.registerTypeMapping(ResourceMetaData.class, resourceMetaDataTypeQName,
-              new XmlSerializerFactory(), new XmlDeserializerFactory());
-
-      return (ResourceMetaData) call.invoke(new Object[0]);
-    } catch (ServiceException e) {
-      throw new ResourceServiceException(e);
-    } catch (java.rmi.RemoteException e) {
-      throw new ResourceServiceException(e);
-    }
-  }
-
-  /**
-   * Gets the service endpoint URL.
-   * 
-   * @return the service endpoint URL
-   */
-  public URL getServiceEndpoint() {
-    return mEndpoint;
-  }
-
-  /**
-   * Gets the timeout period.
-   * 
-   * @return the timeout period in milliseconds. Null indicates that Axis's default value will be
-   *         used.
-   */
-  public Integer getTimeout() {
-    return mTimeout;
-  }
-}
diff --git a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/BinaryDeserializer.java b/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/BinaryDeserializer.java
deleted file mode 100644
index 3d2ccfb04..000000000
--- a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/BinaryDeserializer.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.uima.adapter.soap;
-
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.Serializable;
-
-import javax.activation.DataHandler;
-import javax.xml.namespace.QName;
-
-import org.apache.axis.AxisFault;
-import org.apache.axis.attachments.AttachmentUtils;
-import org.apache.axis.encoding.Base64;
-import org.apache.axis.encoding.DeserializationContext;
-import org.apache.axis.encoding.DeserializerImpl;
-import org.apache.axis.message.SOAPBodyElement;
-import org.apache.axis.soap.SOAPConstants;
-import org.apache.axis.utils.Messages;
-import org.apache.uima.internal.util.SerializationUtils;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-/**
- * An Axis deserializer for {@link Serializable} objects. The serialized bytes are Base-64 encoded
- * for transport via SOAP.
- * 
- * 
- */
-public class BinaryDeserializer extends DeserializerImpl {
-
-  /** The Constant serialVersionUID. */
-  private static final long serialVersionUID = 1351090281481173811L;
-
-  /** The buf. */
-  private StringBuffer buf = new StringBuffer();
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see org.apache.axis.encoding.DeserializerImpl#startElement(java.lang.String, java.lang.String,
-   * java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)
-   */
-  @Override
-  public void startElement(String namespace, String localName, String prefix, Attributes attributes,
-          DeserializationContext context) throws SAXException {
-
-    // System.out.println("startElement(" + namespace + "," + localName + "," + prefix + ")");
-    if (!context.isDoneParsing()) {
-      if (myElement == null) {
-        try {
-          myElement = makeNewElement(namespace, localName, prefix, attributes, context);
-        } catch (AxisFault axisFault) {
-          throw new SAXException(axisFault);
-        }
-        context.pushNewElement(myElement);
-      }
-    }
-
-    SOAPConstants soapConstants = context.getMessageContext().getSOAPConstants();
-
-    QName type = context.getTypeFromAttributes(namespace, localName, attributes);
-    if (log.isDebugEnabled()) {
-      log.debug(Messages.getMessage("gotType00", "Deser", "" + type));
-    }
-
-    String href = attributes.getValue(soapConstants.getAttrHref());
-    // System.out.println(soapConstants.getAttrHref() + " = " + href);
-    if (href != null) {
-      Object ref = context.getObjectByRef(href);
-      // System.out.println(ref.getClass().getName());
-      // System.out.println(ref);
-      if (ref instanceof SOAPBodyElement) // multiref, deref. again
-      {
-        SOAPBodyElement bodyElem = (SOAPBodyElement) ref;
-        href = bodyElem.getAttributeValue(soapConstants.getAttrHref());
-        ref = context.getObjectByRef(href);
-        // System.out.println(ref.getClass().getName());
-        // System.out.println(ref);
-      }
-      if (ref instanceof org.apache.axis.Part) {
-        try {
-          DataHandler dataHandler = AttachmentUtils
-                  .getActivationDataHandler((org.apache.axis.Part) ref);
-          Object content = dataHandler.getContent();
-          // System.out.println(content.getClass().getName());
-          try (ObjectInputStream objStream = new ObjectInputStream((InputStream) content)) {
-            setValue(objStream.readObject());
-          }
-        } catch (org.apache.axis.AxisFault e) {
-          throw new SAXException(e.getMessage());
-        } catch (java.io.IOException e) {
-          throw new SAXException(e.getMessage());
-        } catch (ClassNotFoundException e) {
-          throw new SAXException(e.getMessage());
-        }
-      }
-    }
-
-    // if we didn't set a value, call default implementation
-    if (getValue() == null) {
-      super.startElement(namespace, localName, prefix, attributes, context);
-    }
-    // buf.setLength(0);
-  }
-
-  /**
-   * On start element.
-   *
-   * @param namespace
-   *          the namespace
-   * @param localName
-   *          the local name
-   * @param prefix
-   *          the prefix
-   * @param attributes
-   *          the attributes
-   * @param context
-   *          the context
-   * @throws SAXException
-   *           the SAX exception
-   * @see org.apache.axis.message.SOAPHandler#onStartChild(String, String, String, Attributes,
-   *      DeserializationContext)
-   */
-  @Override
-  public void onStartElement(String namespace, String localName, String prefix,
-          Attributes attributes, DeserializationContext context) throws SAXException {
-    buf.setLength(0);
-  }
-
-  /**
-   * On end element.
-   *
-   * @param arg0
-   *          the arg 0
-   * @param arg1
-   *          the arg 1
-   * @param arg2
-   *          the arg 2
-   * @throws SAXException
-   *           the SAX exception
-   * @see org.apache.axis.encoding.Deserializer#onEndElement(java.lang.String, java.lang.String,
-   *      org.apache.axis.encoding.DeserializationContext)
-   */
-  @Override
-  public void onEndElement(String arg0, String arg1, DeserializationContext arg2)
-          throws SAXException {
-    try {
-      // System.out.println("onEndElement(" + arg0 + "," + arg1 + ")");
-
-      // deserialize (if not done already via attachments)
-      if (this.getValue() == null) {
-        // System.out.println("deserializing - no attachments found"); //DEBUG
-        String base64str = buf.toString();
-        // System.out.println("Base64str: " + base64str);
-        if (base64str.length() > 0) {
-          byte[] bytes = Base64.decode(base64str);
-          setValue(SerializationUtils.deserialize(bytes));
-        }
-      }
-    } catch (Exception e) {
-      e.printStackTrace();
-      throw new SAXException(e);
-    }
-  }
-
-  /**
-   * Characters.
-   *
-   * @param ch
-   *          the ch
-   * @param start
-   *          the start
-   * @param length
-   *          the length
-   * @throws SAXException
-   *           the SAX exception
-   * @see org.xml.sax.ContentHandler#characters(char[], int, int)
-   */
-  @Override
-  public void characters(char[] ch, int start, int length) throws SAXException {
-    // System.out.println("characters(" + new String(ch,start,length) + ")");
-    buf.append(ch, start, length);
-  }
-
-}
diff --git a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/BinaryDeserializerFactory.java b/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/BinaryDeserializerFactory.java
deleted file mode 100644
index 2abf1d25f..000000000
--- a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/BinaryDeserializerFactory.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.uima.adapter.soap;
-
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.apache.axis.Constants;
-import org.apache.axis.Version;
-import org.apache.axis.encoding.DeserializerFactory;
-import org.apache.uima.adapter.soap.axis11.BinaryDeserializer_Axis11;
-
-/**
- * An Axis deserializer factory that constructs instances of {@link BinaryDeserializer}.
- * 
- * 
- */
-public class BinaryDeserializerFactory implements DeserializerFactory {
-
-  /** The Constant serialVersionUID. */
-  private static final long serialVersionUID = 9029965561439924991L;
-
-  /** The mechanisms. */
-  private Vector mechanisms;
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see javax.xml.rpc.encoding.DeserializerFactory#getDeserializerAs(java.lang.String)
-   */
-  @Override
-  public javax.xml.rpc.encoding.Deserializer getDeserializerAs(String mechanismType) {
-    // There is a binary incompatibility between Axis v1.1 and
-    // Axis v1.2 in the serializer/deserializer libraries.
-    // So that UIMA can support both Axis versions, we have different
-    // versions of each of our serializer classes. Here we check the
-    // Axis version number and return an insance of the correct class.
-    String ver = Version.getVersion();
-    if (ver.startsWith("Apache Axis version: 1.1")) {
-      return new BinaryDeserializer_Axis11();
-    } else {
-      return new BinaryDeserializer();
-    }
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see javax.xml.rpc.encoding.DeserializerFactory#getSupportedMechanismTypes()
-   */
-  @Override
-  public Iterator getSupportedMechanismTypes() {
-    if (mechanisms == null) {
-      mechanisms = new Vector();
-      mechanisms.add(Constants.AXIS_SAX);
-    }
-    return mechanisms.iterator();
-  }
-}
diff --git a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/BinarySerializer.java b/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/BinarySerializer.java
deleted file mode 100644
index 76030f71b..000000000
--- a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/BinarySerializer.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.uima.adapter.soap;
-
-import java.io.IOException;
-import java.io.Serializable;
-
-import javax.activation.DataHandler;
-import javax.xml.namespace.QName;
-
-import org.apache.axis.Constants;
-import org.apache.axis.Message;
-import org.apache.axis.Part;
-import org.apache.axis.attachments.Attachments;
-import org.apache.axis.attachments.OctetStream;
-import org.apache.axis.attachments.OctetStreamDataSource;
-import org.apache.axis.encoding.Base64;
-import org.apache.axis.encoding.SerializationContext;
-import org.apache.axis.encoding.Serializer;
-import org.apache.axis.soap.SOAPConstants;
-import org.apache.axis.wsdl.fromJava.Types;
-import org.apache.uima.internal.util.SerializationUtils;
-import org.w3c.dom.Element;
-import org.xml.sax.Attributes;
-import org.xml.sax.helpers.AttributesImpl;
-
-/**
- * An Axis serializer for {@link Serializable} objects. The serialized bytes are Base-64 encoded for
- * transport via SOAP.
- * 
- * 
- */
-public class BinarySerializer implements Serializer {
-
-  /** The Constant serialVersionUID. */
-  private static final long serialVersionUID = 939554603678974912L;
-
-  /** Whether attachments should be used to send binary-serialized data. */
-  private boolean mUseAttachments;
-
-  /**
-   * Instantiates a new binary serializer.
-   */
-  public BinarySerializer() {
-    this(true);
-  }
-
-  /**
-   * Instantiates a new binary serializer.
-   *
-   * @param aUseAttachments
-   *          the a use attachments
-   */
-  public BinarySerializer(boolean aUseAttachments) {
-    mUseAttachments = aUseAttachments;
-  }
-
-  /**
-   * Serialize an element named name, with the indicated attributes and value.
-   *
-   * @param name
-   *          is the element name
-   * @param attributes
-   *          are the attributes...serializer is free to add more.
-   * @param value
-   *          is the value
-   * @param context
-   *          is the SerializationContext
-   * @throws IOException
-   *           Signals that an I/O exception has occurred.
-   */
-  @Override
-  public void serialize(QName name, Attributes attributes, Object value,
-          SerializationContext context) throws IOException {
-    if (value instanceof Serializable) {
-      byte[] bytes = SerializationUtils.serialize((Serializable) value);
-
-      // Should we use an attachment? Do so if:
-      // (a) attachment support exists and mUseAttachments == true and
-      // (b) if we are the server, the client sent us an attachment
-      // (so we know client wants attachment support as well)]
-      Message msg = context.getCurrentMessage();
-      Attachments attachments = msg.getAttachmentsImpl();
-      boolean useAttachments = (attachments != null) && mUseAttachments;
-      if (useAttachments) {
-        useAttachments = !context.getMessageContext().getPastPivot()
-                || context.getMessageContext().getRequestMessage().getAttachments().hasNext();
-      }
-      // if we have attachment support, do this as an attachment
-      if (useAttachments) {
-        // System.out.println("Creating attachment"); //DEBUG
-        SOAPConstants soapConstants = context.getMessageContext().getSOAPConstants();
-        DataHandler dataHandler = new DataHandler(
-                new OctetStreamDataSource("test", new OctetStream(bytes)));
-        Part attachmentPart = attachments.createAttachmentPart(dataHandler);
-
-        AttributesImpl attrs = new AttributesImpl();
-        if (attributes != null && 0 < attributes.getLength())
-          attrs.setAttributes(attributes); // copy the existing ones.
-
-        int typeIndex = -1;
-        if ((typeIndex = attrs.getIndex(Constants.URI_DEFAULT_SCHEMA_XSI, "type")) != -1) {
-          // Found a xsi:type which should not be there for attachments.
-          attrs.removeAttribute(typeIndex);
-        }
-
-        attrs.addAttribute("", soapConstants.getAttrHref(), soapConstants.getAttrHref(), "CDATA",
-                attachmentPart.getContentIdRef());
-        context.startElement(name, attrs);
-        context.endElement();
-      } else {
-        // no attachment support - Base64 encode
-        // System.out.println("No attachment support"); //DEBUG
-        context.startElement(name, attributes);
-
-        String base64str = Base64.encode(bytes);
-        context.writeChars(base64str.toCharArray(), 0, base64str.length());
-        context.endElement();
-      }
-
-    } else {
-      throw new IOException(value.getClass().getName() + " is not serializable.");
-    }
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see javax.xml.rpc.encoding.Serializer#getMechanismType()
-   */
-  @Override
-  public String getMechanismType() {
-    return Constants.AXIS_SAX;
-  }
-
-  /**
-   * Write schema.
-   *
-   * @param javaType
-   *          the java type
-   * @param types
-   *          the types
-   * @return the element
-   * @throws Exception
-   *           the exception
-   * @see org.apache.axis.encoding.Serializer#writeSchema(java.lang.Class,
-   *      org.apache.axis.wsdl.fromJava.Types)
-   */
-  @Override
-  public Element writeSchema(Class javaType, Types types) throws Exception {
-    return null;
-  }
-}
diff --git a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/BinarySerializerFactory.java b/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/BinarySerializerFactory.java
deleted file mode 100644
index b2b56ed9b..000000000
--- a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/BinarySerializerFactory.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.uima.adapter.soap;
-
-import java.util.Iterator;
-import java.util.Vector;
-
-import javax.xml.rpc.encoding.Serializer;
-
-import org.apache.axis.Constants;
-import org.apache.axis.Version;
-import org.apache.axis.encoding.SerializerFactory;
-import org.apache.uima.adapter.soap.axis11.BinarySerializer_Axis11;
-
-/**
- * An Axis serializer factory that constructs instances of {@link BinarySerializer}.
- * 
- * 
- */
-public class BinarySerializerFactory implements SerializerFactory {
-
-  /** The Constant serialVersionUID. */
-  private static final long serialVersionUID = 2914831356701203129L;
-
-  /** The mechanisms. */
-  private Vector mechanisms;
-
-  /**
-   * Instantiates a new binary serializer factory.
-   */
-  public BinarySerializerFactory() {
-    this(true);
-  }
-
-  /**
-   * Instantiates a new binary serializer factory.
-   *
-   * @param aUseAttachments
-   *          the a use attachments
-   */
-  public BinarySerializerFactory(boolean aUseAttachments) {
-    // TODO: attachments never used?
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see javax.xml.rpc.encoding.SerializerFactory#getSerializerAs(java.lang.String)
-   */
-  @Override
-  public Serializer getSerializerAs(String mechanismType) {
-    // There is a binary incompatibility between Axis v1.1 and
-    // Axis v1.2 in the serializer/deserializer libraries.
-    // So that UIMA can support both Axis versions, we have different
-    // versions of each of our serializer classes. Here we check the
-    // Axis version number and return an insance of the correct class.
-    String ver = Version.getVersion();
-    if (ver.startsWith("Apache Axis version: 1.1")) {
-      return new BinarySerializer_Axis11();
-    } else {
-      return new BinarySerializer();
-    }
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see javax.xml.rpc.encoding.SerializerFactory#getSupportedMechanismTypes()
-   */
-  @Override
-  public Iterator getSupportedMechanismTypes() {
-    if (mechanisms == null) {
-      mechanisms = new Vector();
-      mechanisms.add(Constants.AXIS_SAX);
-    }
-    return mechanisms.iterator();
-  }
-}
diff --git a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/SoapAnalysisEngineServiceAdapter.java b/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/SoapAnalysisEngineServiceAdapter.java
deleted file mode 100644
index a968dc79c..000000000
--- a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/SoapAnalysisEngineServiceAdapter.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.uima.adapter.soap;
-
-import java.net.MalformedURLException;
-import java.util.Map;
-
-import org.apache.uima.Constants;
-import org.apache.uima.analysis_engine.AnalysisEngineServiceStub;
-import org.apache.uima.analysis_engine.service.impl.AnalysisEngineServiceAdapter;
-import org.apache.uima.resource.ResourceInitializationException;
-import org.apache.uima.resource.ResourceSpecifier;
-import org.apache.uima.resource.URISpecifier;
-
-/**
- * Reference implementation of {@link AnalysisEngineServiceAdapter} for SOAP.
- * 
- * 
- */
-public class SoapAnalysisEngineServiceAdapter extends AnalysisEngineServiceAdapter {
-
-  /**
-   * Initialize.
-   *
-   * @param aSpecifier
-   *          the a specifier
-   * @param aAdditionalParams
-   *          the a additional params
-   * @return true, if successful
-   * @throws ResourceInitializationException
-   *           the resource initialization exception
-   * @see org.apache.uima.resource.Resource#initialize(ResourceSpecifier, Map)
-   */
-  @Override
-  public boolean initialize(ResourceSpecifier aSpecifier, Map aAdditionalParams)
-          throws ResourceInitializationException {
-    // aSpecifier must be a URISpecifier using the SOAP protocol
-    if (!(aSpecifier instanceof URISpecifier)) {
-      return false;
-    }
-    URISpecifier uriSpec = (URISpecifier) aSpecifier;
-    if (!uriSpec.getProtocol().equals(Constants.PROTOCOL_SOAP)
-            && !uriSpec.getProtocol().equals(Constants.PROTOCOL_SOAP_WITH_ATTACHMENTS)) {
-      return false;
-    }
-    // resource type must be null or AnalysisEngine
-    if (uriSpec.getResourceType() != null
-            && !uriSpec.getResourceType().equals(URISpecifier.RESOURCE_TYPE_ANALYSIS_ENGINE)) {
-      return false;
-    }
-
-    try {
-      // create proxy to service
-      AnalysisEngineServiceStub stub = new AxisAnalysisEngineServiceStub(uriSpec.getUri(),
-              uriSpec.getTimeout(),
-              uriSpec.getProtocol().equals(Constants.PROTOCOL_SOAP_WITH_ATTACHMENTS));
-      setStub(stub);
-
-      // finish initialization. This requires access to metadata, so must be called
-      // after we create the stub
-      super.initialize(aSpecifier, aAdditionalParams);
-
-    } catch (MalformedURLException e) {
-      throw new ResourceInitializationException(ResourceInitializationException.MALFORMED_URL,
-              new Object[] { uriSpec.getUri(), uriSpec.getSourceUrlString() }, e);
-    }
-
-    // Sofa mappings are currently not implemented for remote AEs. Catch this
-    // and report an error.
-    if (getUimaContextAdmin().getSofaMap().size() > 0) {
-      throw new ResourceInitializationException(
-              ResourceInitializationException.SOFA_MAPPING_NOT_SUPPORTED_FOR_REMOTE,
-              new Object[] { getMetaData().getName() });
-    }
-
-    return true;
-  }
-}
diff --git a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/XmlDeserializer.java b/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/XmlDeserializer.java
deleted file mode 100644
index fe450139f..000000000
--- a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/XmlDeserializer.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.uima.adapter.soap;
-
-import java.io.File;
-
-import org.apache.axis.encoding.DeserializationContext;
-import org.apache.axis.encoding.DeserializerImpl;
-import org.apache.axis.message.SOAPHandler;
-import org.apache.uima.UIMAFramework;
-import org.apache.uima.util.InvalidXMLException;
-import org.apache.uima.util.XMLParser;
-import org.apache.uima.util.XMLizable;
-import org.apache.uima.util.impl.SaxDeserializer_impl;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.LocatorImpl;
-
-/**
- * An Axis deserializer for any {@link XMLizable} object.
- * 
- * 
- */
-public class XmlDeserializer extends DeserializerImpl {
-
-  /** The Constant serialVersionUID. */
-  private static final long serialVersionUID = -2178663551643071383L;
-
-  /** The m deser. */
-  private SaxDeserializer_impl mDeser;
-
-  /** The m nesting. */
-  private int mNesting;
-
-  /**
-   * Instantiates a new xml deserializer.
-   */
-  public XmlDeserializer() {
-    try {
-      mNesting = 0;
-      mDeser = new SaxDeserializer_impl(UIMAFramework.getXMLParser(), null, null,
-              new XMLParser.ParsingOptions(false));
-      LocatorImpl loc = new LocatorImpl();
-      loc.setSystemId(new File(System.getProperty("user.dir")).toURL().toString());
-      mDeser.setDocumentLocator(loc);
-      mDeser.startDocument();
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
-  }
-
-  /**
-   * This method is invoked when an element start tag is encountered.
-   *
-   * @param namespace
-   *          is the namespace of the element
-   * @param localName
-   *          is the name of the element
-   * @param prefix
-   *          is the element's prefix
-   * @param attributes
-   *          are the attributes on the element...used to get the type
-   * @param context
-   *          is the DeserializationContext
-   * @return the SOAP handler
-   * @throws SAXException
-   *           the SAX exception
-   */
-  @Override
-  public SOAPHandler onStartChild(String namespace, String localName, String prefix,
-          Attributes attributes, DeserializationContext context) throws SAXException {
-    return this;
-  }
-
-  /**
-   * On start element.
-   *
-   * @param arg0
-   *          the arg 0
-   * @param arg1
-   *          the arg 1
-   * @param arg2
-   *          the arg 2
-   * @param arg3
-   *          the arg 3
-   * @param arg4
-   *          the arg 4
-   * @throws SAXException
-   *           the SAX exception
-   * @see org.apache.axis.message.SOAPHandler#onStartChild(String, String, String, Attributes,
-   *      DeserializationContext)
-   */
-  @Override
-  public void onStartElement(String arg0, String arg1, String arg2, Attributes arg3,
-          DeserializationContext arg4) throws SAXException {
-    // System.out.println("AxisResourceServiceDeserializer::onStartElement(" + arg0 + "," + arg1 +
-    // "," + arg2 + ")");
-
-    // don't process the topmost element - it is a SOAP "multiRef" element and
-    // we don't care about that
-    if (mNesting > 0) {
-      mDeser.startElement(arg0, arg1, arg1, arg3);
-    }
-    mNesting++;
-  }
-
-  /**
-   * Characters.
-   *
-   * @param ch
-   *          the ch
-   * @param start
-   *          the start
-   * @param length
-   *          the length
-   * @throws SAXException
-   *           the SAX exception
-   * @see org.xml.sax.ContentHandler#characters(char[], int, int)
-   */
-  @Override
-  public void characters(char[] ch, int start, int length) throws SAXException {
-    // System.out.println("AxisResourceServiceDeserializer::characters(" + new
-    // String(ch,start,length) + ")");
-    mDeser.characters(ch, start, length);
-  }
-
-  /**
-   * On end element.
-   *
-   * @param arg0
-   *          the arg 0
-   * @param arg1
-   *          the arg 1
-   * @param arg2
-   *          the arg 2
-   * @throws SAXException
-   *           the SAX exception
-   * @see org.apache.axis.encoding.Deserializer#onEndElement(java.lang.String, java.lang.String,
-   *      org.apache.axis.encoding.DeserializationContext)
-   */
-  @Override
-  public void onEndElement(String arg0, String arg1, DeserializationContext arg2)
-          throws SAXException {
-    // System.out.println("AxisResourceServiceDeserializer::onEndElement(" + arg0 + "," + arg1);
-    mNesting--;
-
-    if (mNesting > 0) {
-      mDeser.endElement(arg0, arg1, arg1);
-    }
-  }
-
-  /**
-   * Value complete.
-   *
-   * @throws SAXException
-   *           the SAX exception
-   * @see org.apache.axis.encoding.Deserializer#valueComplete()
-   */
-  @Override
-  public void valueComplete() throws SAXException {
-    // System.out.println("AxisResourceServiceDeserializer::valueComplete");
-    if (mNesting == 0) {
-      // System.out.println("Building value");
-      mDeser.endDocument();
-      try {
-        Object val = mDeser.getObject();
-        // System.out.println("Value is: " + val);
-        // value = val;
-        setValue(val);
-      } catch (InvalidXMLException e) {
-        e.printStackTrace();
-        setValue(null);
-      }
-
-      // call superclass to register the deserialized object
-      super.valueComplete();
-    }
-  }
-}
diff --git a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/XmlDeserializerFactory.java b/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/XmlDeserializerFactory.java
deleted file mode 100644
index c72c67978..000000000
--- a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/XmlDeserializerFactory.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.uima.adapter.soap;
-
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.apache.axis.Constants;
-import org.apache.axis.Version;
-import org.apache.axis.encoding.DeserializerFactory;
-import org.apache.uima.adapter.soap.axis11.XmlDeserializer_Axis11;
-
-/**
- * An Axis deserializer factory that constructs instances of {@link XmlDeserializer}.
- * 
- * 
- */
-public class XmlDeserializerFactory implements DeserializerFactory {
-
-  /** The Constant serialVersionUID. */
-  private static final long serialVersionUID = -414711394032045305L;
-
-  /** The mechanisms. */
-  private Vector mechanisms;
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see javax.xml.rpc.encoding.DeserializerFactory#getDeserializerAs(java.lang.String)
-   */
-  @Override
-  public javax.xml.rpc.encoding.Deserializer getDeserializerAs(String mechanismType) {
-    // There is a binary incompatibility between Axis v1.1 and
-    // Axis v1.2 in the serializer/deserializer libraries.
-    // So that UIMA can support both Axis versions, we have different
-    // versions of each of our serializer classes. Here we check the
-    // Axis version number and return an insance of the correct class.
-    String ver = Version.getVersion();
-    if (ver.startsWith("Apache Axis version: 1.1")) {
-      return new XmlDeserializer_Axis11();
-    } else {
-      return new XmlDeserializer();
-    }
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see javax.xml.rpc.encoding.DeserializerFactory#getSupportedMechanismTypes()
-   */
-  @Override
-  public Iterator getSupportedMechanismTypes() {
-    if (mechanisms == null) {
-      mechanisms = new Vector();
-      mechanisms.add(Constants.AXIS_SAX);
-    }
-    return mechanisms.iterator();
-  }
-}
diff --git a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/XmlSerializer.java b/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/XmlSerializer.java
deleted file mode 100644
index ef7a4d45e..000000000
--- a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/XmlSerializer.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.uima.adapter.soap;
-
-import java.io.IOException;
-
-import javax.xml.namespace.QName;
-
-import org.apache.axis.Constants;
-import org.apache.axis.encoding.SerializationContext;
-import org.apache.axis.encoding.Serializer;
-import org.apache.axis.wsdl.fromJava.Types;
-import org.apache.uima.util.XMLizable;
-import org.w3c.dom.Element;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * An Axis serializer for any {@link XMLizable} object.
- * 
- * 
- */
-public class XmlSerializer implements Serializer {
-
-  /** The Constant serialVersionUID. */
-  private static final long serialVersionUID = 1674801848276745835L;
-
-  /**
-   * Serialize an element named name, with the indicated attributes and value.
-   *
-   * @param name
-   *          is the element name
-   * @param attributes
-   *          are the attributes...serializer is free to add more.
-   * @param value
-   *          is the value
-   * @param context
-   *          is the SerializationContext
-   * @throws IOException
-   *           Signals that an I/O exception has occurred.
-   */
-  @Override
-  public void serialize(QName name, Attributes attributes, Object value,
-          SerializationContext context) throws IOException {
-    if (value instanceof XMLizable) {
-      try {
-        // System.out.println("AxisResourceServiceSerializer::serialize(" + name + ")");
-        context.startElement(name, attributes);
-
-        SerializerContentHandler contentHandler = new SerializerContentHandler(context);
-        ((XMLizable) value).toXML(contentHandler);
-        context.endElement();
-      } catch (SAXException e) {
-        throw new IOException("SAXException: " + e.getMessage());
-      }
-    } else {
-      throw new IOException(
-              "Can't serialize a " + value.getClass().getName() + " with an XmlSerializer.");
-    }
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see javax.xml.rpc.encoding.Serializer#getMechanismType()
-   */
-  @Override
-  public String getMechanismType() {
-    return Constants.AXIS_SAX;
-  }
-
-  /**
-   * Write schema.
-   *
-   * @param javaType
-   *          the java type
-   * @param types
-   *          the types
-   * @return the element
-   * @throws Exception
-   *           the exception
-   * @see org.apache.axis.encoding.Serializer#writeSchema(java.lang.Class,
-   *      org.apache.axis.wsdl.fromJava.Types)
-   */
-  @Override
-  public Element writeSchema(Class javaType, Types types) throws Exception {
-    return null;
-  }
-
-  /**
-   * Inner class that implements SAX ContentHandler and writes events through to the Axis
-   * SerializationContext.
-   * 
-   * 
-   */
-  static class SerializerContentHandler extends DefaultHandler {
-
-    /** The m context. */
-    private SerializationContext mContext;
-
-    /**
-     * Instantiates a new serializer content handler.
-     *
-     * @param aContext
-     *          the a context
-     */
-    SerializerContentHandler(SerializationContext aContext) {
-      mContext = aContext;
-    }
-
-    /**
-     * Characters.
-     *
-     * @param ch
-     *          the ch
-     * @param start
-     *          the start
-     * @param length
-     *          the length
-     * @throws SAXException
-     *           the SAX exception
-     * @see org.xml.sax.ContentHandler#characters(char[], int, int)
-     */
-    @Override
-    public void characters(char[] ch, int start, int length) throws SAXException {
-      try {
-        // System.out.println("Calling SerializationContext.writeChars");
-        mContext.writeChars(ch, start, length);
-      } catch (IOException e) {
-        throw new SAXException("IOException:" + e.getMessage());
-      }
-    }
-
-    /**
-     * End element.
-     *
-     * @param uri
-     *          the uri
-     * @param localName
-     *          the local name
-     * @param qName
-     *          the q name
-     * @throws SAXException
-     *           the SAX exception
-     * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String,
-     *      java.lang.String)
-     */
-    @Override
-    public void endElement(String uri, String localName, String qName) throws SAXException {
-      try {
-        // System.out.println("Calling SerializationContext.endElement(" + qName + ")");
-        mContext.endElement();
-      } catch (IOException e) {
-        throw new SAXException("IOException:" + e.getMessage());
-      }
-    }
-
-    /**
-     * Start element.
-     *
-     * @param uri
-     *          the uri
-     * @param localName
-     *          the local name
-     * @param qName
-     *          the q name
-     * @param attributes
-     *          the attributes
-     * @throws SAXException
-     *           the SAX exception
-     * @see org.xml.sax.ContentHandler#startElement(java.lang.String, java.lang.String,
-     *      java.lang.String, org.xml.sax.Attributes)
-     */
-    @Override
-    public void startElement(String uri, String localName, String qName, Attributes attributes)
-            throws SAXException {
-      try {
-        // System.out.println("Calling SerializationContext.startElement(" + qName + ")");
-        mContext.startElement(new QName(uri, localName), attributes);
-      } catch (IOException e) {
-        throw new SAXException("IOException:" + e.getMessage());
-      }
-    }
-
-  }
-}
diff --git a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/XmlSerializerFactory.java b/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/XmlSerializerFactory.java
deleted file mode 100644
index d8cd0ddb0..000000000
--- a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/XmlSerializerFactory.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.uima.adapter.soap;
-
-import java.util.Iterator;
-import java.util.Vector;
-
-import javax.xml.rpc.encoding.Serializer;
-
-import org.apache.axis.Constants;
-import org.apache.axis.Version;
-import org.apache.axis.encoding.SerializerFactory;
-import org.apache.uima.adapter.soap.axis11.XmlSerializer_Axis11;
-
-/**
- * An AxisSerializer factory that constructs instances of {@link XmlSerializer}.
- * 
- * 
- */
-public class XmlSerializerFactory implements SerializerFactory {
-
-  /** The Constant serialVersionUID. */
-  private static final long serialVersionUID = -6341240975976459158L;
-
-  /** The mechanisms. */
-  private Vector mechanisms;
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see javax.xml.rpc.encoding.SerializerFactory#getSerializerAs(java.lang.String)
-   */
-  @Override
-  public Serializer getSerializerAs(String mechanismType) {
-    // There is a binary incompatibility between Axis v1.1 and
-    // Axis v1.2 in the serializer/deserializer libraries.
-    // So that UIMA can support both Axis versions, we have different
-    // versions of each of our serializer classes. Here we check the
-    // Axis version number and return an insance of the correct class.
-    String ver = Version.getVersion();
-    if (ver.startsWith("Apache Axis version: 1.1")) {
-      return new XmlSerializer_Axis11();
-    } else {
-      return new XmlSerializer();
-    }
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see javax.xml.rpc.encoding.SerializerFactory#getSupportedMechanismTypes()
-   */
-  @Override
-  public Iterator getSupportedMechanismTypes() {
-    if (mechanisms == null) {
-      mechanisms = new Vector();
-      mechanisms.add(Constants.AXIS_SAX);
-    }
-    return mechanisms.iterator();
-  }
-}
diff --git a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/axis11/BinaryDeserializer_Axis11.java b/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/axis11/BinaryDeserializer_Axis11.java
deleted file mode 100644
index 986f5cbb3..000000000
--- a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/axis11/BinaryDeserializer_Axis11.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.uima.adapter.soap.axis11;
-
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.Serializable;
-
-import javax.activation.DataHandler;
-import javax.xml.namespace.QName;
-
-import org.apache.axis.AxisFault;
-import org.apache.axis.attachments.AttachmentUtils;
-import org.apache.axis.encoding.Base64;
-import org.apache.axis.encoding.DeserializationContext;
-import org.apache.axis.encoding.DeserializerImpl;
-import org.apache.axis.message.SOAPBodyElement;
-import org.apache.axis.soap.SOAPConstants;
-import org.apache.axis.utils.Messages;
-import org.apache.uima.internal.util.SerializationUtils;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-/**
- * An Axis deserializer for {@link Serializable} objects. The serialized bytes are Base-64 encoded
- * for transport via SOAP.
- * <p>
- * This class works only under Axis v1.1.
- */
-public class BinaryDeserializer_Axis11 extends DeserializerImpl {
-
-  /** The Constant serialVersionUID. */
-  private static final long serialVersionUID = -591743087907058514L;
-
-  /** The buf. */
-  private StringBuffer buf = new StringBuffer();
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see org.apache.axis.encoding.DeserializerImpl#startElement(java.lang.String, java.lang.String,
-   * java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)
-   */
-  @Override
-  public void startElement(String namespace, String localName, String prefix, Attributes attributes,
-          DeserializationContext context) throws SAXException {
-
-    // System.out.println("startElement(" + namespace + "," + localName + "," + prefix + ")");
-    if (!context.isDoneParsing()) {
-      if (myElement == null) {
-        try {
-          myElement = makeNewElement(namespace, localName, prefix, attributes, context);
-        } catch (AxisFault axisFault) {
-          throw new SAXException(axisFault);
-        }
-        context.pushNewElement(myElement);
-      }
-    }
-
-    SOAPConstants soapConstants = context.getMessageContext().getSOAPConstants();
-
-    QName type = context.getTypeFromAttributes(namespace, localName, attributes);
-    if (log.isDebugEnabled()) {
-      log.debug(Messages.getMessage("gotType00", "Deser", "" + type));
-    }
-
-    String href = attributes.getValue(soapConstants.getAttrHref());
-    // System.out.println(soapConstants.getAttrHref() + " = " + href);
-    if (href != null) {
-      Object ref = context.getObjectByRef(href);
-      // System.out.println(ref.getClass().getName());
-      // System.out.println(ref);
-      if (ref instanceof SOAPBodyElement) // multiref, deref. again
-      {
-        SOAPBodyElement bodyElem = (SOAPBodyElement) ref;
-        href = bodyElem.getAttributeValue(soapConstants.getAttrHref());
-        ref = context.getObjectByRef(href);
-        // System.out.println(ref.getClass().getName());
-        // System.out.println(ref);
-      }
-      if (ref instanceof org.apache.axis.Part) {
-        try {
-          DataHandler dataHandler = AttachmentUtils
-                  .getActivationDataHandler((org.apache.axis.Part) ref);
-          Object content = dataHandler.getContent();
-          // System.out.println(content.getClass().getName());
-          try (ObjectInputStream objStream = new ObjectInputStream((InputStream) content)) {
-            setValue(objStream.readObject());
-          }
-        } catch (org.apache.axis.AxisFault e) {
-          throw new SAXException(e.getMessage());
-        } catch (java.io.IOException e) {
-          throw new SAXException(e.getMessage());
-        } catch (ClassNotFoundException e) {
-          throw new SAXException(e.getMessage());
-        }
-      }
-    }
-
-    // if we didn't set a value, call default implementation
-    if (getValue() == null) {
-      super.startElement(namespace, localName, prefix, attributes, context);
-    }
-    // buf.setLength(0);
-  }
-
-  /**
-   * On start element.
-   *
-   * @param namespace
-   *          the namespace
-   * @param localName
-   *          the local name
-   * @param prefix
-   *          the prefix
-   * @param attributes
-   *          the attributes
-   * @param context
-   *          the context
-   * @throws SAXException
-   *           the SAX exception
-   * @see org.apache.axis.message.SOAPHandler#onStartChild(String, String, String, Attributes,
-   *      DeserializationContext)
-   */
-  @Override
-  public void onStartElement(String namespace, String localName, String prefix,
-          Attributes attributes, DeserializationContext context) throws SAXException {
-    buf.setLength(0);
-  }
-
-  /**
-   * On end element.
-   *
-   * @param arg0
-   *          the arg 0
-   * @param arg1
-   *          the arg 1
-   * @param arg2
-   *          the arg 2
-   * @throws SAXException
-   *           the SAX exception
-   * @see org.apache.axis.encoding.Deserializer#onEndElement(java.lang.String, java.lang.String,
-   *      org.apache.axis.encoding.DeserializationContext)
-   */
-  @Override
-  public void onEndElement(String arg0, String arg1, DeserializationContext arg2)
-          throws SAXException {
-    try {
-      // System.out.println("onEndElement(" + arg0 + "," + arg1 + ")");
-
-      // deserialize (if not done already via attachments)
-      if (this.getValue() == null) {
-        // System.out.println("deserializing - no attachments found"); //DEBUG
-        String base64str = buf.toString();
-        // System.out.println("Base64str: " + base64str);
-        if (base64str.length() > 0) {
-          byte[] bytes = Base64.decode(base64str);
-          setValue(SerializationUtils.deserialize(bytes));
-        }
-      }
-    } catch (Exception e) {
-      e.printStackTrace();
-      throw new SAXException(e);
-    }
-  }
-
-  /**
-   * Characters.
-   *
-   * @param ch
-   *          the ch
-   * @param start
-   *          the start
-   * @param length
-   *          the length
-   * @throws SAXException
-   *           the SAX exception
-   * @see org.xml.sax.ContentHandler#characters(char[], int, int)
-   */
-  @Override
-  public void characters(char[] ch, int start, int length) throws SAXException {
-    // System.out.println("characters(" + new String(ch,start,length) + ")");
-    buf.append(ch, start, length);
-  }
-
-}
diff --git a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/axis11/BinarySerializer_Axis11.java b/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/axis11/BinarySerializer_Axis11.java
deleted file mode 100644
index 1d983ab3f..000000000
--- a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/axis11/BinarySerializer_Axis11.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.uima.adapter.soap.axis11;
-
-import java.io.IOException;
-import java.io.Serializable;
-
-import javax.activation.DataHandler;
-import javax.xml.namespace.QName;
-
-import org.apache.axis.Constants;
-import org.apache.axis.Message;
-import org.apache.axis.Part;
-import org.apache.axis.attachments.Attachments;
-import org.apache.axis.attachments.OctetStream;
-import org.apache.axis.attachments.OctetStreamDataSource;
-import org.apache.axis.encoding.Base64;
-import org.apache.axis.encoding.SerializationContext;
-import org.apache.axis.encoding.Serializer;
-import org.apache.axis.soap.SOAPConstants;
-import org.apache.axis.wsdl.fromJava.Types;
-import org.apache.uima.internal.util.SerializationUtils;
-import org.w3c.dom.Element;
-import org.xml.sax.Attributes;
-import org.xml.sax.helpers.AttributesImpl;
-
-/**
- * An Axis serializer for {@link Serializable} objects. The serialized bytes are Base-64 encoded for
- * transport via SOAP.
- * <p>
- * This class works only under Axis v1.1.
- */
-public class BinarySerializer_Axis11 implements Serializer {
-
-  /** The Constant serialVersionUID. */
-  private static final long serialVersionUID = -1968145589342023832L;
-
-  /** Whether attachments should be used to send binary-serialized data. */
-  private boolean mUseAttachments;
-
-  /**
-   * Instantiates a new binary serializer axis 11.
-   */
-  public BinarySerializer_Axis11() {
-    this(true);
-  }
-
-  /**
-   * Instantiates a new binary serializer axis 11.
-   *
-   * @param aUseAttachments
-   *          the a use attachments
-   */
-  public BinarySerializer_Axis11(boolean aUseAttachments) {
-    mUseAttachments = aUseAttachments;
-  }
-
-  /**
-   * Serialize an element named name, with the indicated attributes and value.
-   *
-   * @param name
-   *          is the element name
-   * @param attributes
-   *          are the attributes...serializer is free to add more.
-   * @param value
-   *          is the value
-   * @param context
-   *          is the SerializationContext
-   * @throws IOException
-   *           Signals that an I/O exception has occurred.
-   */
-  @Override
-  public void serialize(QName name, Attributes attributes, Object value,
-          SerializationContext context) throws IOException {
-    if (value instanceof Serializable) {
-      byte[] bytes = SerializationUtils.serialize((Serializable) value);
-
-      // Should we use an attachment? Do so if:
-      // (a) attachment support exists and mUseAttachments == true and
-      // (b) if we are the server, the client sent us an attachment
-      // (so we know client wants attachment support as well)]
-      Message msg = context.getCurrentMessage();
-      Attachments attachments = msg.getAttachmentsImpl();
-      boolean useAttachments = (attachments != null) && mUseAttachments;
-      if (useAttachments) {
-        useAttachments = !context.getMessageContext().getPastPivot()
-                || context.getMessageContext().getRequestMessage().getAttachments().hasNext();
-      }
-      // if we have attachment support, do this as an attachment
-      if (useAttachments) {
-        // System.out.println("Creating attachment"); //DEBUG
-        SOAPConstants soapConstants = context.getMessageContext().getSOAPConstants();
-        DataHandler dataHandler = new DataHandler(
-                new OctetStreamDataSource("test", new OctetStream(bytes)));
-        Part attachmentPart = attachments.createAttachmentPart(dataHandler);
-
-        AttributesImpl attrs = new AttributesImpl();
-        if (attributes != null && 0 < attributes.getLength())
-          attrs.setAttributes(attributes); // copy the existing ones.
-
-        int typeIndex = -1;
-        if ((typeIndex = attrs.getIndex(Constants.URI_DEFAULT_SCHEMA_XSI, "type")) != -1) {
-          // Found a xsi:type which should not be there for attachments.
-          attrs.removeAttribute(typeIndex);
-        }
-
-        attrs.addAttribute("", soapConstants.getAttrHref(), soapConstants.getAttrHref(), "CDATA",
-                attachmentPart.getContentIdRef());
-        context.startElement(name, attrs);
-        context.endElement();
-      } else {
-        // no attachment support - Base64 encode
-        // System.out.println("No attachment support"); //DEBUG
-        context.startElement(name, attributes);
-
-        String base64str = Base64.encode(bytes);
-        context.writeChars(base64str.toCharArray(), 0, base64str.length());
-        context.endElement();
-      }
-
-    } else {
-      throw new IOException(value.getClass().getName() + " is not serializable.");
-    }
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see javax.xml.rpc.encoding.Serializer#getMechanismType()
-   */
-  @Override
-  public String getMechanismType() {
-    return Constants.AXIS_SAX;
-  }
-
-  /**
-   * Write schema.
-   *
-   * @param javaType
-   *          the java type
-   * @param types
-   *          the types
-   * @return the element
-   * @throws Exception
-   *           the exception
-   * @see org.apache.axis.encoding.Serializer#writeSchema(java.lang.Class,
-   *      org.apache.axis.wsdl.fromJava.Types)
-   */
-  @Override
-  public Element writeSchema(Class javaType, Types types) throws Exception {
-    return null;
-  }
-}
diff --git a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/axis11/XmlDeserializer_Axis11.java b/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/axis11/XmlDeserializer_Axis11.java
deleted file mode 100644
index 09e6a9f35..000000000
--- a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/axis11/XmlDeserializer_Axis11.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.uima.adapter.soap.axis11;
-
-import java.io.File;
-
-import org.apache.axis.encoding.DeserializationContext;
-import org.apache.axis.encoding.DeserializerImpl;
-import org.apache.axis.message.SOAPHandler;
-import org.apache.uima.UIMAFramework;
-import org.apache.uima.util.InvalidXMLException;
-import org.apache.uima.util.XMLParser;
-import org.apache.uima.util.XMLizable;
-import org.apache.uima.util.impl.SaxDeserializer_impl;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.LocatorImpl;
-
-/**
- * An Axis deserializer for any {@link XMLizable} object.
- * <p>
- * This class works only under Axis v1.1.
- */
-public class XmlDeserializer_Axis11 extends DeserializerImpl {
-
-  /** The Constant serialVersionUID. */
-  private static final long serialVersionUID = 6687245569965318456L;
-
-  /** The m deser. */
-  private SaxDeserializer_impl mDeser;
-
-  /** The m nesting. */
-  private int mNesting;
-
-  /**
-   * Instantiates a new xml deserializer axis 11.
-   */
-  public XmlDeserializer_Axis11() {
-    try {
-      mNesting = 0;
-      mDeser = new SaxDeserializer_impl(UIMAFramework.getXMLParser(), null, null,
-              new XMLParser.ParsingOptions(false));
-      LocatorImpl loc = new LocatorImpl();
-      loc.setSystemId(new File(System.getProperty("user.dir")).toURL().toString());
-      mDeser.setDocumentLocator(loc);
-      mDeser.startDocument();
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
-  }
-
-  /**
-   * Characters.
-   *
-   * @param ch
-   *          the ch
-   * @param start
-   *          the start
-   * @param length
-   *          the length
-   * @throws SAXException
-   *           the SAX exception
-   * @see org.xml.sax.ContentHandler#characters(char[], int, int)
-   */
-  @Override
-  public void characters(char[] ch, int start, int length) throws SAXException {
-    // System.out.println("AxisResourceServiceDeserializer::characters(" + new
-    // String(ch,start,length) + ")");
-    mDeser.characters(ch, start, length);
-  }
-
-  /**
-   * On end element.
-   *
-   * @param arg0
-   *          the arg 0
-   * @param arg1
-   *          the arg 1
-   * @param arg2
-   *          the arg 2
-   * @throws SAXException
-   *           the SAX exception
-   * @see org.apache.axis.encoding.Deserializer#onEndElement(java.lang.String, java.lang.String,
-   *      org.apache.axis.encoding.DeserializationContext)
-   */
-  @Override
-  public void onEndElement(String arg0, String arg1, DeserializationContext arg2)
-          throws SAXException {
-    // System.out.println("AxisResourceServiceDeserializer::onEndElement(" + arg0 + "," + arg1);
-    mNesting--;
-
-    if (mNesting > 0) {
-      mDeser.endElement(arg0, arg1, arg1);
-    }
-  }
-
-  /**
-   * This method is invoked when an element start tag is encountered.
-   *
-   * @param namespace
-   *          is the namespace of the element
-   * @param localName
-   *          is the name of the element
-   * @param prefix
-   *          is the element's prefix
-   * @param attributes
-   *          are the attributes on the element...used to get the type
-   * @param context
-   *          is the DeserializationContext
-   * @return the SOAP handler
-   * @throws SAXException
-   *           the SAX exception
-   */
-  @Override
-  public SOAPHandler onStartChild(String namespace, String localName, String prefix,
-          Attributes attributes, DeserializationContext context) throws SAXException {
-    return this;
-  }
-
-  /**
-   * On start element.
-   *
-   * @param arg0
-   *          the arg 0
-   * @param arg1
-   *          the arg 1
-   * @param arg2
-   *          the arg 2
-   * @param arg3
-   *          the arg 3
-   * @param arg4
-   *          the arg 4
-   * @throws SAXException
-   *           the SAX exception
-   * @see org.apache.axis.message.SOAPHandler#onStartChild(String, String, String, Attributes,
-   *      DeserializationContext)
-   */
-  @Override
-  public void onStartElement(String arg0, String arg1, String arg2, Attributes arg3,
-          DeserializationContext arg4) throws SAXException {
-    // System.out.println("AxisResourceServiceDeserializer::onStartElement(" + arg0 + "," + arg1 +
-    // "," + arg2 + ")");
-
-    // don't process the topmost element - it is a SOAP "multiRef" element and
-    // we don't care about that
-    if (mNesting > 0) {
-      mDeser.startElement(arg0, arg1, arg1, arg3);
-    }
-    mNesting++;
-  }
-
-  /**
-   * Value complete.
-   *
-   * @throws SAXException
-   *           the SAX exception
-   * @see org.apache.axis.encoding.Deserializer#valueComplete()
-   */
-  @Override
-  public void valueComplete() throws SAXException {
-    // System.out.println("AxisResourceServiceDeserializer::valueComplete");
-    if (mNesting == 0) {
-      // System.out.println("Building value");
-      mDeser.endDocument();
-      try {
-        Object val = mDeser.getObject();
-        // System.out.println("Value is: " + val);
-        // value = val;
-        setValue(val);
-      } catch (InvalidXMLException e) {
-        e.printStackTrace();
-        setValue(null);
-      }
-
-      // call superclass to register the deserialized object
-      super.valueComplete();
-    }
-  }
-}
diff --git a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/axis11/XmlSerializer_Axis11.java b/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/axis11/XmlSerializer_Axis11.java
deleted file mode 100644
index 6d074d241..000000000
--- a/uimaj-adapter-soap/src/main/java/org/apache/uima/adapter/soap/axis11/XmlSerializer_Axis11.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.uima.adapter.soap.axis11;
-
-import java.io.IOException;
-
-import javax.xml.namespace.QName;
-
-import org.apache.axis.Constants;
-import org.apache.axis.encoding.SerializationContext;
-import org.apache.axis.encoding.Serializer;
-import org.apache.axis.wsdl.fromJava.Types;
-import org.apache.uima.util.XMLizable;
-import org.w3c.dom.Element;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * An Axis serializer for any {@link XMLizable} object.
- * <p>
- * This class works only under Axis v1.1.
- */
-public class XmlSerializer_Axis11 implements Serializer {
-
-  /** The Constant serialVersionUID. */
-  private static final long serialVersionUID = -1528534494294634599L;
-
-  /**
-   * Serialize an element named name, with the indicated attributes and value.
-   *
-   * @param name
-   *          is the element name
-   * @param attributes
-   *          are the attributes...serializer is free to add more.
-   * @param value
-   *          is the value
-   * @param context
-   *          is the SerializationContext
-   * @throws IOException
-   *           Signals that an I/O exception has occurred.
-   */
-  @Override
-  public void serialize(QName name, Attributes attributes, Object value,
-          SerializationContext context) throws IOException {
-    if (value instanceof XMLizable) {
-      try {
-        // System.out.println("AxisResourceServiceSerializer::serialize(" + name + ")");
-        context.startElement(name, attributes);
-
-        SerializerContentHandler contentHandler = new SerializerContentHandler(context);
-        ((XMLizable) value).toXML(contentHandler);
-        context.endElement();
-      } catch (SAXException e) {
-        throw new IOException("SAXException: " + e.getMessage());
-      }
-    } else {
-      throw new IOException(
-              "Can't serialize a " + value.getClass().getName() + " with an XmlSerializer.");
-    }
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see javax.xml.rpc.encoding.Serializer#getMechanismType()
-   */
-  @Override
-  public String getMechanismType() {
-    return Constants.AXIS_SAX;
-  }
-
-  /**
-   * Write schema.
-   *
-   * @param javaType
-   *          the java type
-   * @param types
-   *          the types
-   * @return the element
-   * @throws Exception
-   *           the exception
-   * @see org.apache.axis.encoding.Serializer#writeSchema(java.lang.Class,
-   *      org.apache.axis.wsdl.fromJava.Types)
-   */
-  @Override
-  public Element writeSchema(Class javaType, Types types) throws Exception {
-    return null;
-  }
-
-  /**
-   * Inner class that implements SAX ContentHandler and writes events through to the Axis
-   * SerializationContext.
-   * 
-   * 
-   */
-  static class SerializerContentHandler extends DefaultHandler {
-
-    /** The m context. */
-    private SerializationContext mContext;
-
-    /**
-     * Instantiates a new serializer content handler.
-     *
-     * @param aContext
-     *          the a context
-     */
-    SerializerContentHandler(SerializationContext aContext) {
-      mContext = aContext;
-    }
-
-    /**
-     * Characters.
-     *
-     * @param ch
-     *          the ch
-     * @param start
-     *          the start
-     * @param length
-     *          the length
-     * @throws SAXException
-     *           the SAX exception
-     * @see org.xml.sax.ContentHandler#characters(char[], int, int)
-     */
-    @Override
-    public void characters(char[] ch, int start, int length) throws SAXException {
-      try {
-        // System.out.println("Calling SerializationContext.writeChars");
-        mContext.writeChars(ch, start, length);
-      } catch (IOException e) {
-        throw new SAXException("IOException:" + e.getMessage());
-      }
-    }
-
-    /**
-     * End element.
-     *
-     * @param uri
-     *          the uri
-     * @param localName
-     *          the local name
-     * @param qName
-     *          the q name
-     * @throws SAXException
-     *           the SAX exception
-     * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String,
-     *      java.lang.String)
-     */
-    @Override
-    public void endElement(String uri, String localName, String qName) throws SAXException {
-      try {
-        // System.out.println("Calling SerializationContext.endElement(" + qName + ")");
-        mContext.endElement();
-      } catch (IOException e) {
-        throw new SAXException("IOException:" + e.getMessage());
-      }
-    }
-
-    /**
-     * Start element.
-     *
-     * @param uri
-     *          the uri
-     * @param localName
-     *          the local name
-     * @param qName
-     *          the q name
-     * @param attributes
-     *          the attributes
-     * @throws SAXException
-     *           the SAX exception
-     * @see org.xml.sax.ContentHandler#startElement(java.lang.String, java.lang.String,
-     *      java.lang.String, org.xml.sax.Attributes)
-     */
-    @Override
-    public void startElement(String uri, String localName, String qName, Attributes attributes)
-            throws SAXException {
-      try {
-        // System.out.println("Calling SerializationContext.startElement(" + qName + ")");
-        mContext.startElement(new QName(uri, localName), attributes);
-      } catch (IOException e) {
-        throw new SAXException("IOException:" + e.getMessage());
-      }
-    }
-
-  }
-}
diff --git a/uimaj-adapter-vinci/src/test/java/org/apache/uima/adapter/vinci/VinciAnalysisEngineServiceAdapterTest.java b/uimaj-adapter-vinci/src/test/java/org/apache/uima/adapter/vinci/VinciAnalysisEngineServiceAdapterTest.java
index 59a7c8c8b..397ff8f04 100644
--- a/uimaj-adapter-vinci/src/test/java/org/apache/uima/adapter/vinci/VinciAnalysisEngineServiceAdapterTest.java
+++ b/uimaj-adapter-vinci/src/test/java/org/apache/uima/adapter/vinci/VinciAnalysisEngineServiceAdapterTest.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.uima.adapter.vinci;
 
 import static org.assertj.core.api.Assertions.assertThat;
@@ -28,10 +27,6 @@ import org.apache.uima.resource.ResourceInitializationException;
 import org.apache.uima.resource.URISpecifier;
 import org.junit.jupiter.api.Test;
 
-// TODO: Auto-generated Javadoc
-/**
- * The Class VinciAnalysisEngineServiceAdapterTest.
- */
 public class VinciAnalysisEngineServiceAdapterTest {
 
   /**
@@ -52,7 +47,7 @@ public class VinciAnalysisEngineServiceAdapterTest {
     uriSpec.setUri(NON_EXISTENT_URI);
 
     // test incorrect protocol
-    uriSpec.setProtocol(Constants.PROTOCOL_SOAP);
+    uriSpec.setProtocol("BAD_PROTOCOL");
     VinciAnalysisEngineServiceAdapter adapter = new VinciAnalysisEngineServiceAdapter();
     boolean result = adapter.initialize(uriSpec, null);
     assertThat(result).isFalse();
diff --git a/uimaj-core/src/main/java/org/apache/uima/Constants.java b/uimaj-core/src/main/java/org/apache/uima/Constants.java
index 31bb4652e..ca52d3bae 100644
--- a/uimaj-core/src/main/java/org/apache/uima/Constants.java
+++ b/uimaj-core/src/main/java/org/apache/uima/Constants.java
@@ -24,13 +24,21 @@ package org.apache.uima;
 public abstract class Constants {
   /**
    * A constant indicating the name of the "SOAP" protocol for service communication.
+   * 
+   * @deprecated SOAP protocol is no longer supported since UIMA v3.3.0. Constant to be removed in
+   *             UIMAv4.
    */
+  @Deprecated
   public static final String PROTOCOL_SOAP = "SOAP";
 
   /**
    * A constant indicating the name of the "SOAP with Attachments" protocol for service
    * communication.
+   * 
+   * @deprecated SOAP protocol is no longer supported since UIMA v3.3.0. Constant to be removed in
+   *             UIMAv4.
    */
+  @Deprecated
   public static final String PROTOCOL_SOAP_WITH_ATTACHMENTS = "SOAPwithAttachments";
 
   /**
diff --git a/uimaj-core/src/main/java/org/apache/uima/UimaContext.java b/uimaj-core/src/main/java/org/apache/uima/UimaContext.java
index fddc33fdb..04fdfeea4 100644
--- a/uimaj-core/src/main/java/org/apache/uima/UimaContext.java
+++ b/uimaj-core/src/main/java/org/apache/uima/UimaContext.java
@@ -462,7 +462,7 @@ public interface UimaContext {
    * Session object for each client, and this method would return the appropriate Session object for
    * the component to use for the current call.
    * <p>
-   * Note that Session support is NOT implemented in any of the service wrappers (Vinci, SOAP)
+   * Note that Session support is NOT implemented in any of the service wrappers (e.g. Vinci)
    * currently provided in the UIMA SDK.
    * 
    * @return the current Session object
diff --git a/uimaj-core/src/main/java/org/apache/uima/cas/impl/BinaryCasSerDes.java b/uimaj-core/src/main/java/org/apache/uima/cas/impl/BinaryCasSerDes.java
index 3acdfd080..f4ec3336f 100644
--- a/uimaj-core/src/main/java/org/apache/uima/cas/impl/BinaryCasSerDes.java
+++ b/uimaj-core/src/main/java/org/apache/uima/cas/impl/BinaryCasSerDes.java
@@ -217,7 +217,7 @@ public class BinaryCasSerDes {
   // *********************************
 
   /**
-   * Deserializer for Java-object serialized instance of CASSerializer Used by Soap
+   * Deserializer for Java-object serialized instance of CASSerializer.
    * 
    * @param ser
    *          - The instance to convert back to a CAS
diff --git a/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java b/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java
index ae88a4f19..b8c6236b5 100644
--- a/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java
+++ b/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java
@@ -6048,7 +6048,7 @@ public class CASImpl extends AbstractCas_ImplBase
   // backwards compatibility - reinit calls
   // just the public apis
   /**
-   * Deserializer for Java-object serialized instance of CASSerializer Used by Soap
+   * Deserializer for Java-object serialized instance of CASSerializer.
    * 
    * @param ser
    *          - The instance to convert back to a CAS
diff --git a/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASSerializer.java b/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASSerializer.java
index 870a446b0..d54ecb595 100644
--- a/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASSerializer.java
+++ b/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASSerializer.java
@@ -62,7 +62,7 @@ import org.apache.uima.util.CasIOUtils;
  * 1) create an instance of this class
  * 2) add a Cas to it (via addCAS methods)
  * 3) use the instance of this class as the argument to anObjectOutputStream.writeObject(anInstanceOfThisClass)
- *    In UIMA this is done in the SerializationUtils class; it appears to be used for SOAP and Vinci service adapters.
+ *    In UIMA this is done in the SerializationUtils class; it appears to be used for Vinci service adapters.
  * 
  * There are also custom serialization methods that serialize to outputStreams.
  * 
@@ -78,7 +78,7 @@ import org.apache.uima.util.CasIOUtils;
  *     
  * This class is for internal use.  Some of the serialized formats are readable by the C++
  * implementation, and used for efficiently transferring CASes between Java frameworks and other ones.
- * Others are used with Vinci or SOAP to communicate to remote annotators.
+ * Others are used with Vinci to communicate to remote annotators.
  * 
  * To serialize the type definition and index specifications for a CAS
  * 
diff --git a/uimaj-core/src/main/java/org/apache/uima/internal/util/SerializationUtils.java b/uimaj-core/src/main/java/org/apache/uima/internal/util/SerializationUtils.java
index 6ca461552..b7073db18 100644
--- a/uimaj-core/src/main/java/org/apache/uima/internal/util/SerializationUtils.java
+++ b/uimaj-core/src/main/java/org/apache/uima/internal/util/SerializationUtils.java
@@ -30,10 +30,8 @@ import java.io.Serializable;
  * Serialize and Deserialize arbitrary objects to/from byte arrays, using standard Java object
  * serialization/deserialization support.
  * 
- * Used in the Vinci and Soap transports to serialize/deserialize CASSerializer objects or
- * CASCompleteSerializer objects (includes type system and index definitions) or (for SOAP)
- * arbitrary objects
- * 
+ * Used in the Vinci transport to serialize/deserialize CASSerializer objects or
+ * CASCompleteSerializer objects (includes type system and index definitions).
  * 
  * This class is abstract only to prevent instantiation. All the methods are static.
  */
diff --git a/uimaj-core/src/main/resources/org/apache/uima/impl/factoryConfig.xml b/uimaj-core/src/main/resources/org/apache/uima/impl/factoryConfig.xml
index 458593145..da88d3c5c 100644
--- a/uimaj-core/src/main/resources/org/apache/uima/impl/factoryConfig.xml
+++ b/uimaj-core/src/main/resources/org/apache/uima/impl/factoryConfig.xml
@@ -1,144 +1,298 @@
-	<!--
-	 ***************************************************************
-	 * Licensed to the Apache Software Foundation (ASF) under one
-	 * or more contributor license agreements.  See the NOTICE file
-	 * distributed with this work for additional information
-	 * regarding copyright ownership.  The ASF licenses this file
-	 * to you under the Apache License, Version 2.0 (the
-	 * "License"); you may not use this file except in compliance
-	 * with the License.  You may obtain a copy of the License at
-	 * 
-	 *   http://www.apache.org/licenses/LICENSE-2.0
-	 * 
-	 * Unless required by applicable law or agreed to in writing,
-	 * software distributed under the License is distributed on an
-	 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	 * KIND, either express or implied.  See the License for the
-	 * specific language governing permissions and limitations
-	 * under the License.
-	 ***************************************************************
-	-->
+<!--
+ ***************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ ***************************************************************
+-->
 
 
 <!-- This is the configuration file for the factory methods in the UIMAFramework class.
-	 Do not edit this file unless you are SURE you know what you are doing. -->
+   Do not edit this file unless you are SURE you know what you are doing. -->
 <factoryConfig>
-	<cpm class="org.apache.uima.collection.impl.cpm.CPMImpl"/>
+  <cpm class="org.apache.uima.collection.impl.cpm.CPMImpl"/>
   <logger class="org.apache.uima.util.impl.Slf4jLogger_impl"/>
   <!-- logger class="org.apache.uima.util.impl.JSR47Logger_impl"/ -->
-	<resourceManager class="org.apache.uima.resource.impl.ResourceManager_impl"/>
+  <resourceManager class="org.apache.uima.resource.impl.ResourceManager_impl"/>
   <resourceManagerPearWrapper class="org.apache.uima.resource.impl.ResourceManagerPearWrapper_impl"/>
-	<configurationManager class="org.apache.uima.resource.impl.ConfigurationManager_impl"/>
-	<uimaContext class="org.apache.uima.impl.RootUimaContext_impl"/>
-	<cpe class="org.apache.uima.collection.impl.CollectionProcessingEngine_impl"/>
-	<timer class="org.apache.uima.internal.util.JavaTimer"/>	 
-	<resource>
-	  <simpleFactory specifier="org.apache.uima.resource.ResourceSpecifier">
-	  	<binding specifier="org.apache.uima.resource.URISpecifier" 
-	  		     resource="org.apache.uima.adapter.vinci.VinciAnalysisEngineServiceAdapter"/>
-	  	<binding specifier="org.apache.uima.resource.URISpecifier" 
-	  		     resource="org.apache.uima.adapter.soap.SoapAnalysisEngineServiceAdapter"/>	     
-		<binding specifier="org.apache.uima.resource.PearSpecifier" 
-	  		     resource="org.apache.uima.analysis_engine.impl.PearAnalysisEngineWrapper"/>	  		     
-	  	<binding specifier="org.apache.uima.resource.FileResourceSpecifier" 
-	  		     resource="org.apache.uima.resource.impl.DataResource_impl"/>
-	  	<binding specifier="org.apache.uima.resource.FileLanguageResourceSpecifier" 
-	  		     resource="org.apache.uima.resource.impl.FileLanguageResource_impl"/>
-	  	<binding specifier="org.apache.uima.resource.ConfigurableDataResourceSpecifier" 
-	  		     resource="org.apache.uima.resource.impl.ConfigurableDataResource_impl"/>
-	  </simpleFactory>	
-	  <customFactory specifier="org.apache.uima.collection.CasConsumerDescription"
-	  	             factoryClass="org.apache.uima.impl.CasConsumerFactory_impl"/>
-	  <customFactory specifier="org.apache.uima.collection.CasInitializerDescription"
-	  	             factoryClass="org.apache.uima.impl.CasInitializerFactory_impl"/>
-	  <customFactory specifier="org.apache.uima.collection.CollectionReaderDescription"
-	  	             factoryClass="org.apache.uima.impl.CollectionReaderFactory_impl"/>
-	  <customFactory specifier="org.apache.uima.resource.ResourceCreationSpecifier"
-	  	             factoryClass="org.apache.uima.impl.AnalysisEngineFactory_impl"/>
-	  <customFactory specifier="org.apache.uima.resource.CustomResourceSpecifier"
-	  	             factoryClass="org.apache.uima.impl.CustomResourceFactory_impl"/>
-	</resource>
+  <configurationManager class="org.apache.uima.resource.impl.ConfigurationManager_impl"/>
+  <uimaContext class="org.apache.uima.impl.RootUimaContext_impl"/>
+  <cpe class="org.apache.uima.collection.impl.CollectionProcessingEngine_impl"/>
+  <timer class="org.apache.uima.internal.util.JavaTimer"/>   
+  <resource>
+    <simpleFactory specifier="org.apache.uima.resource.ResourceSpecifier">
+      <binding specifier="org.apache.uima.resource.URISpecifier" 
+               resource="org.apache.uima.adapter.vinci.VinciAnalysisEngineServiceAdapter"/>
+      <binding specifier="org.apache.uima.resource.PearSpecifier" 
+               resource="org.apache.uima.analysis_engine.impl.PearAnalysisEngineWrapper"/>
+      <binding specifier="org.apache.uima.resource.FileResourceSpecifier" 
+               resource="org.apache.uima.resource.impl.DataResource_impl"/>
+      <binding specifier="org.apache.uima.resource.FileLanguageResourceSpecifier" 
+               resource="org.apache.uima.resource.impl.FileLanguageResource_impl"/>
+      <binding specifier="org.apache.uima.resource.ConfigurableDataResourceSpecifier" 
+               resource="org.apache.uima.resource.impl.ConfigurableDataResource_impl"/>
+    </simpleFactory>
+    <customFactory specifier="org.apache.uima.collection.CasConsumerDescription"
+                   factoryClass="org.apache.uima.impl.CasConsumerFactory_impl"/>
+    <customFactory specifier="org.apache.uima.collection.CasInitializerDescription"
+                   factoryClass="org.apache.uima.impl.CasInitializerFactory_impl"/>
+    <customFactory specifier="org.apache.uima.collection.CollectionReaderDescription"
+                   factoryClass="org.apache.uima.impl.CollectionReaderFactory_impl"/>
+    <customFactory specifier="org.apache.uima.resource.ResourceCreationSpecifier"
+                   factoryClass="org.apache.uima.impl.AnalysisEngineFactory_impl"/>
+    <customFactory specifier="org.apache.uima.resource.CustomResourceSpecifier"
+                   factoryClass="org.apache.uima.impl.CustomResourceFactory_impl"/>
+  </resource>
 
     <!--  element attribute may be omitted if has no XML specification -->
-	<resourceSpecifier>
-		<binding element="analysisEngineDescription" interface="org.apache.uima.analysis_engine.AnalysisEngineDescription" class="org.apache.uima.analysis_engine.impl.AnalysisEngineDescription_impl"/>
-		<binding element="analysisEngineMetaData" interface="org.apache.uima.analysis_engine.metadata.AnalysisEngineMetaData" class="org.apache.uima.analysis_engine.metadata.impl.AnalysisEngineMetaData_impl"/>
-		<binding element="asbMetaData" interface="org.apache.uima.analysis_engine.asb.AsbMetaData" class="org.apache.uima.analysis_engine.asb.impl.AsbMetaData_impl"/>
-		<binding element="attribute" interface="org.apache.uima.search.Attribute" class="org.apache.uima.search.impl.Attribute_impl"/>
-		<binding element="capability" interface="org.apache.uima.resource.metadata.Capability" class="org.apache.uima.resource.metadata.impl.Capability_impl"/>
-		<binding element="casConsumerDescription" interface="org.apache.uima.collection.CasConsumerDescription" class="org.apache.uima.collection.impl.CasConsumerDescription_impl"/>
-		<binding element="casInitializerDescription" interface="org.apache.uima.collection.CasInitializerDescription" class="org.apache.uima.collection.impl.CasInitializerDescription_impl"/>
-		<binding element="collectionReaderDescription" interface="org.apache.uima.collection.CollectionReaderDescription" class="org.apache.uima.collection.impl.CollectionReaderDescription_impl"/>
-		<binding element="configurableDataResourceSpecifier" interface="org.apache.uima.resource.ConfigurableDataResourceSpecifier" class="org.apache.uima.resource.impl.ConfigurableDataResourceSpecifier_impl"/>
-		<binding element="configurationGroup" interface="org.apache.uima.resource.metadata.ConfigurationGroup" class="org.apache.uima.resource.metadata.impl.ConfigurationGroup_impl"/>
-		<binding element="configurationParameter" interface="org.apache.uima.resource.metadata.ConfigurationParameter" class="org.apache.uima.resource.metadata.impl.ConfigurationParameter_impl"/>
-		<binding element="configurationParameterSettings" interface="org.apache.uima.resource.metadata.ConfigurationParameterSettings" class="org.apache.uima.resource.metadata.impl.ConfigurationParameterSettings_impl"/>
-		<binding element="configurationParameters" interface="org.apache.uima.resource.metadata.ConfigurationParameterDeclarations" class="org.apache.uima.resource.metadata.impl.ConfigurationParameterDeclarations_impl"/>
-		<binding element="customResourceSpecifier" interface="org.apache.uima.resource.CustomResourceSpecifier" class="org.apache.uima.resource.impl.CustomResourceSpecifier_impl"/>
-		<binding element="externalResource" interface="org.apache.uima.resource.ExternalResourceDescription" class="org.apache.uima.resource.impl.ExternalResourceDescription_impl"/>
-		<binding element="externalResourceBinding" interface="org.apache.uima.resource.metadata.ExternalResourceBinding" class="org.apache.uima.resource.metadata.impl.ExternalResourceBinding_impl"/>
-		<binding element="externalResourceDependency" interface="org.apache.uima.resource.ExternalResourceDependency" class="org.apache.uima.resource.impl.ExternalResourceDependency_impl"/>
-		<binding element="feature" interface="org.apache.uima.analysis_engine.TypeOrFeature" class="org.apache.uima.analysis_engine.impl.TypeOrFeature_impl"/>
-		<binding element="featureDescription" interface="org.apache.uima.resource.metadata.FeatureDescription" class="org.apache.uima.resource.metadata.impl.FeatureDescription_impl"/>
-		<binding element="fileLanguageResourceSpecifier" interface="org.apache.uima.resource.FileLanguageResourceSpecifier" class="org.apache.uima.resource.impl.FileLanguageResourceSpecifier_impl"/>
-		<binding element="fileResourceSpecifier" interface="org.apache.uima.resource.FileResourceSpecifier" class="org.apache.uima.resource.impl.FileResourceSpecifier_impl"/>
-		<binding element="filter" interface="org.apache.uima.search.Filter" class="org.apache.uima.search.impl.Filter_impl"/>
-		<binding element="fixedFlow" interface="org.apache.uima.analysis_engine.metadata.FixedFlow" class="org.apache.uima.analysis_engine.metadata.impl.FixedFlow_impl"/>
-		<binding element="flowControllerDescription" interface="org.apache.uima.flow.FlowControllerDescription" class="org.apache.uima.flow.impl.FlowControllerDescription_impl"/>
-        <binding element="capabilityLanguageFlow" interface="org.apache.uima.analysis_engine.metadata.CapabilityLanguageFlow" class="org.apache.uima.analysis_engine.metadata.impl.CapabilityLanguageFlow_impl"/>
-		<binding element="fsIndexes" interface="org.apache.uima.resource.metadata.FsIndexCollection" class="org.apache.uima.resource.metadata.impl.FsIndexCollection_impl"/>
-		<binding element="fsIndexCollection" interface="org.apache.uima.resource.metadata.FsIndexCollection" class="org.apache.uima.resource.metadata.impl.FsIndexCollection_impl"/>
-		<binding element="fsIndexDescription" interface="org.apache.uima.resource.metadata.FsIndexDescription" class="org.apache.uima.resource.metadata.impl.FsIndexDescription_impl"/>
-		<binding element="fsIndexKey" interface="org.apache.uima.resource.metadata.FsIndexKeyDescription" class="org.apache.uima.resource.metadata.impl.FsIndexKeyDescription_impl"/>
-		<binding element="import" interface="org.apache.uima.resource.metadata.Import" class="org.apache.uima.resource.metadata.impl.Import_impl"/>
-		<binding element="indexBuildItem" interface="org.apache.uima.search.IndexBuildItem" class="org.apache.uima.search.impl.IndexBuildItem_impl"/>
-		<binding element="indexBuildSpecification" interface="org.apache.uima.search.IndexBuildSpecification" class="org.apache.uima.search.impl.IndexBuildSpecification_impl"/>
-		<binding element="indexRule" interface="org.apache.uima.search.IndexRule" class="org.apache.uima.search.impl.IndexRule_impl"/>
-		<binding element="indexingSpecification" interface="org.apache.uima.search.IndexingSpecification" class="org.apache.uima.search.impl.IndexingSpecification_impl"/>
-		<binding element="mapping" interface="org.apache.uima.search.Mapping" class="org.apache.uima.search.impl.Mapping_impl"/>
-		<binding element="nameValuePair" interface="org.apache.uima.resource.metadata.NameValuePair" class="org.apache.uima.resource.metadata.impl.NameValuePair_impl"/>
-		<binding element="operationalProperties" interface="org.apache.uima.resource.metadata.OperationalProperties" class="org.apache.uima.resource.metadata.impl.OperationalProperties_impl"/>
-		<binding element="parameter" interface="org.apache.uima.resource.Parameter" class="org.apache.uima.resource.impl.Parameter_impl"/>
-		<binding element="priorityList" interface="org.apache.uima.resource.metadata.TypePriorityList" class="org.apache.uima.resource.metadata.impl.TypePriorityList_impl"/>
-		<binding element="processingResourceMetaData" interface="org.apache.uima.resource.metadata.ProcessingResourceMetaData" class="org.apache.uima.resource.metadata.impl.ProcessingResourceMetaData_impl"/>
-		<binding element="resourceMetaData" interface="org.apache.uima.resource.metadata.ResourceMetaData" class="org.apache.uima.resource.metadata.impl.ResourceMetaData_impl"/>
-		<binding element="resourceManagerConfiguration" interface="org.apache.uima.resource.metadata.ResourceManagerConfiguration" class="org.apache.uima.resource.metadata.impl.ResourceManagerConfiguration_impl"/>
-		<binding element="resultSpecification" interface="org.apache.uima.analysis_engine.ResultSpecification" class="org.apache.uima.analysis_engine.impl.ResultSpecification_impl"/>
-		<binding element="flowController" interface="org.apache.uima.analysis_engine.metadata.FlowControllerDeclaration" class="org.apache.uima.analysis_engine.metadata.impl.FlowControllerDeclaration_impl"/>
-		<binding element="simplePrecondition" interface="org.apache.uima.resource.metadata.SimplePrecondition" class="org.apache.uima.resource.metadata.impl.SimplePrecondition_impl"/>
-		<binding element="style" interface="org.apache.uima.search.Style" class="org.apache.uima.search.impl.Style_impl"/>
-		<binding element="taeDescription" interface="org.apache.uima.analysis_engine.TaeDescription" class="org.apache.uima.analysis_engine.impl.TaeDescription_impl"/>
-		<binding element="type" interface="org.apache.uima.analysis_engine.TypeOrFeature" class="org.apache.uima.analysis_engine.impl.TypeOrFeature_impl"/>
-		<binding element="typeDescription" interface="org.apache.uima.resource.metadata.TypeDescription" class="org.apache.uima.resource.metadata.impl.TypeDescription_impl"/>
-		<binding element="typePriorities" interface="org.apache.uima.resource.metadata.TypePriorities" class="org.apache.uima.resource.metadata.impl.TypePriorities_impl"/>
-		<binding element="typeSystemDescription" interface="org.apache.uima.resource.metadata.TypeSystemDescription" class="org.apache.uima.resource.metadata.impl.TypeSystemDescription_impl"/>
-		<binding element="uriSpecifier" interface="org.apache.uima.resource.URISpecifier" class="org.apache.uima.resource.impl.URISpecifier_impl"/>
-		<binding element="pearSpecifier" interface="org.apache.uima.resource.PearSpecifier" class="org.apache.uima.resource.impl.PearSpecifier_impl"/>
-		<binding element="value" interface="org.apache.uima.resource.metadata.AllowedValue" class="org.apache.uima.resource.metadata.impl.AllowedValue_impl"/>
-	    <binding element="sofaMapping" interface="org.apache.uima.analysis_engine.metadata.SofaMapping" class="org.apache.uima.analysis_engine.metadata.impl.SofaMapping_impl"/>
-	
-	    <binding element="casInitializer" interface="org.apache.uima.collection.metadata.CpeCollectionReaderCasInitializer" class="org.apache.uima.collection.impl.metadata.cpe.CpeCollectionReaderCasInitializerImpl"/>
-	    <binding element="casProcessor" interface="org.apache.uima.collection.metadata.CpeCasProcessor" class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorCpeObject"/>
-	    <binding element="casProcessors" interface="org.apache.uima.collection.metadata.CpeCasProcessors" class="org.apache.uima.collection.impl.metadata.cpe.CpeCasProcessorsImpl"/>
-	    <binding element="checkpoint" interface="org.apache.uima.collection.metadata.CpeCheckpoint" class="org.apache.uima.collection.impl.metadata.cpe.CpeCheckpointImpl"/>
-	    <binding element="collectionIterator" interface="org.apache.uima.collection.metadata.CpeCollectionReaderIterator" class="org.apache.uima.collection.impl.metadata.cpe.CpeCollectionReaderIteratorImpl"/>
-	    <binding element="collectionReader" interface="org.apache.uima.collection.metadata.CpeCollectionReader" class="org.apache.uima.collection.impl.metadata.cpe.CpeCollectionReaderImpl"/>
-	    <binding element="cpeConfig" interface="org.apache.uima.collection.metadata.CpeConfiguration" class="org.apache.uima.collection.impl.metadata.cpe.CpeConfigurationImpl"/>
-	    <binding element="cpeDescription" interface="org.apache.uima.collection.metadata.CpeDescription" class="org.apache.uima.collection.impl.metadata.cpe.CpeDescriptionImpl"/>
-	    <binding element="descriptor" interface="org.apache.uima.collection.metadata.CpeComponentDescriptor" class="org.apache.uima.collection.impl.metadata.cpe.CpeComponentDescriptorImpl"/>
-	    <binding element="errorHandling" interface="org.apache.uima.collection.metadata.CasProcessorErrorHandling" class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorErrorHandlingImpl"/>
-	    <binding element="include" interface="org.apache.uima.collection.metadata.CpeInclude" class="org.apache.uima.collection.impl.metadata.cpe.CpeIncludeImpl"/>
-	    <binding element="runInSeparateProcess" interface="org.apache.uima.collection.metadata.CasProcessorRunInSeperateProcess" class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorRunInSeperateProcessImpl"/>
-	    <binding element="deploymentParameters" interface="org.apache.uima.collection.metadata.CasProcessorDeploymentParams" class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorDeploymentParamsImpl"/>
-	    <binding element="exec" interface="org.apache.uima.collection.metadata.CasProcessorExecutable" class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorExecutableImpl"/>
-	    <binding element="filter" interface="org.apache.uima.collection.metadata.CasProcessorFilter" class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorFilterImpl"/>
-	    <binding element="arg" interface="org.apache.uima.collection.metadata.CasProcessorExecArg" class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorExecArgImpl"/>
-	    <binding element="env" interface="org.apache.uima.collection.metadata.CasProcessorRuntimeEnvParam" class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorRuntimeEnvParamImpl"/>
-	    <binding element="outputQueue" interface="org.apache.uima.collection.metadata.OutputQueue" class="org.apache.uima.collection.impl.metadata.cpe.OutputQueue_impl"/>
-	    <binding element="maxConsecutiveRestarts" interface="org.apache.uima.collection.metadata.CasProcessorMaxRestarts" class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorMaxRestartsImpl"/>
-	    <binding element="errorRateThreshold" interface="org.apache.uima.collection.metadata.CasProcessorErrorRateThreshold" class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorErrorRateThresholdImpl"/>
-	    <binding element="timeout" interface="org.apache.uima.collection.metadata.CasProcessorTimeout" class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorTimeoutImpl"/>
-	    <binding element="sofaNameMappings" interface="org.apache.uima.collection.metadata.CpeSofaMappings" class="org.apache.uima.collection.impl.metadata.cpe.CpeSofaMappingsImpl"/>
-        <binding interface="org.apache.uima.util.Settings" class="org.apache.uima.util.impl.Settings_impl"/>
-	</resourceSpecifier>
+  <resourceSpecifier>
+    <binding element="analysisEngineDescription" 
+             interface="org.apache.uima.analysis_engine.AnalysisEngineDescription" 
+             class="org.apache.uima.analysis_engine.impl.AnalysisEngineDescription_impl"/>
+    <binding element="analysisEngineMetaData" 
+             interface="org.apache.uima.analysis_engine.metadata.AnalysisEngineMetaData" 
+             class="org.apache.uima.analysis_engine.metadata.impl.AnalysisEngineMetaData_impl"/>
+    <binding element="asbMetaData" 
+             interface="org.apache.uima.analysis_engine.asb.AsbMetaData" 
+             class="org.apache.uima.analysis_engine.asb.impl.AsbMetaData_impl"/>
+    <binding element="attribute" 
+             interface="org.apache.uima.search.Attribute" 
+             class="org.apache.uima.search.impl.Attribute_impl"/>
+    <binding element="capability" 
+             interface="org.apache.uima.resource.metadata.Capability" 
+             class="org.apache.uima.resource.metadata.impl.Capability_impl"/>
+    <binding element="casConsumerDescription" 
+             interface="org.apache.uima.collection.CasConsumerDescription"
+             class="org.apache.uima.collection.impl.CasConsumerDescription_impl"/>
+    <binding element="casInitializerDescription"
+             interface="org.apache.uima.collection.CasInitializerDescription"
+             class="org.apache.uima.collection.impl.CasInitializerDescription_impl"/>
+    <binding element="collectionReaderDescription"
+             interface="org.apache.uima.collection.CollectionReaderDescription"
+             class="org.apache.uima.collection.impl.CollectionReaderDescription_impl"/>
+    <binding element="configurableDataResourceSpecifier"
+             interface="org.apache.uima.resource.ConfigurableDataResourceSpecifier"
+             class="org.apache.uima.resource.impl.ConfigurableDataResourceSpecifier_impl"/>
+    <binding element="configurationGroup"
+             interface="org.apache.uima.resource.metadata.ConfigurationGroup"
+             class="org.apache.uima.resource.metadata.impl.ConfigurationGroup_impl"/>
+    <binding element="configurationParameter"
+             interface="org.apache.uima.resource.metadata.ConfigurationParameter"
+             class="org.apache.uima.resource.metadata.impl.ConfigurationParameter_impl"/>
+    <binding element="configurationParameterSettings"
+             interface="org.apache.uima.resource.metadata.ConfigurationParameterSettings"
+             class="org.apache.uima.resource.metadata.impl.ConfigurationParameterSettings_impl"/>
+    <binding element="configurationParameters"
+             interface="org.apache.uima.resource.metadata.ConfigurationParameterDeclarations"
+             class="org.apache.uima.resource.metadata.impl.ConfigurationParameterDeclarations_impl"/>
+    <binding element="customResourceSpecifier"
+             interface="org.apache.uima.resource.CustomResourceSpecifier"
+             class="org.apache.uima.resource.impl.CustomResourceSpecifier_impl"/>
+    <binding element="externalResource"
+             interface="org.apache.uima.resource.ExternalResourceDescription"
+             class="org.apache.uima.resource.impl.ExternalResourceDescription_impl"/>
+    <binding element="externalResourceBinding"
+             interface="org.apache.uima.resource.metadata.ExternalResourceBinding"
+             class="org.apache.uima.resource.metadata.impl.ExternalResourceBinding_impl"/>
+    <binding element="externalResourceDependency"
+             interface="org.apache.uima.resource.ExternalResourceDependency"
+             class="org.apache.uima.resource.impl.ExternalResourceDependency_impl"/>
+    <binding element="feature"
+             interface="org.apache.uima.analysis_engine.TypeOrFeature"
+             class="org.apache.uima.analysis_engine.impl.TypeOrFeature_impl"/>
+    <binding element="featureDescription"
+             interface="org.apache.uima.resource.metadata.FeatureDescription"
+             class="org.apache.uima.resource.metadata.impl.FeatureDescription_impl"/>
+    <binding element="fileLanguageResourceSpecifier"
+             interface="org.apache.uima.resource.FileLanguageResourceSpecifier"
+             class="org.apache.uima.resource.impl.FileLanguageResourceSpecifier_impl"/>
+    <binding element="fileResourceSpecifier"
+             interface="org.apache.uima.resource.FileResourceSpecifier"
+             class="org.apache.uima.resource.impl.FileResourceSpecifier_impl"/>
+    <binding element="filter"
+             interface="org.apache.uima.search.Filter"
+             class="org.apache.uima.search.impl.Filter_impl"/>
+    <binding element="fixedFlow"
+             interface="org.apache.uima.analysis_engine.metadata.FixedFlow"
+             class="org.apache.uima.analysis_engine.metadata.impl.FixedFlow_impl"/>
+    <binding element="flowControllerDescription"
+             interface="org.apache.uima.flow.FlowControllerDescription"
+             class="org.apache.uima.flow.impl.FlowControllerDescription_impl"/>
+    <binding element="capabilityLanguageFlow"
+             interface="org.apache.uima.analysis_engine.metadata.CapabilityLanguageFlow"
+             class="org.apache.uima.analysis_engine.metadata.impl.CapabilityLanguageFlow_impl"/>
+    <binding element="fsIndexes"
+             interface="org.apache.uima.resource.metadata.FsIndexCollection"
+             class="org.apache.uima.resource.metadata.impl.FsIndexCollection_impl"/>
+    <binding element="fsIndexCollection"
+             interface="org.apache.uima.resource.metadata.FsIndexCollection"
+             class="org.apache.uima.resource.metadata.impl.FsIndexCollection_impl"/>
+    <binding element="fsIndexDescription"
+             interface="org.apache.uima.resource.metadata.FsIndexDescription"
+             class="org.apache.uima.resource.metadata.impl.FsIndexDescription_impl"/>
+    <binding element="fsIndexKey"
+             interface="org.apache.uima.resource.metadata.FsIndexKeyDescription"
+             class="org.apache.uima.resource.metadata.impl.FsIndexKeyDescription_impl"/>
+    <binding element="import"
+             interface="org.apache.uima.resource.metadata.Import"
+             class="org.apache.uima.resource.metadata.impl.Import_impl"/>
+    <binding element="indexBuildItem"
+             interface="org.apache.uima.search.IndexBuildItem"
+             class="org.apache.uima.search.impl.IndexBuildItem_impl"/>
+    <binding element="indexBuildSpecification"
+             interface="org.apache.uima.search.IndexBuildSpecification"
+             class="org.apache.uima.search.impl.IndexBuildSpecification_impl"/>
+    <binding element="indexRule"
+             interface="org.apache.uima.search.IndexRule"
+             class="org.apache.uima.search.impl.IndexRule_impl"/>
+    <binding element="indexingSpecification"
+             interface="org.apache.uima.search.IndexingSpecification"
+             class="org.apache.uima.search.impl.IndexingSpecification_impl"/>
+    <binding element="mapping"
+             interface="org.apache.uima.search.Mapping"
+             class="org.apache.uima.search.impl.Mapping_impl"/>
+    <binding element="nameValuePair"
+             interface="org.apache.uima.resource.metadata.NameValuePair"
+             class="org.apache.uima.resource.metadata.impl.NameValuePair_impl"/>
+    <binding element="operationalProperties"
+             interface="org.apache.uima.resource.metadata.OperationalProperties"
+             class="org.apache.uima.resource.metadata.impl.OperationalProperties_impl"/>
+    <binding element="parameter"
+             interface="org.apache.uima.resource.Parameter"
+             class="org.apache.uima.resource.impl.Parameter_impl"/>
+    <binding element="priorityList"
+             interface="org.apache.uima.resource.metadata.TypePriorityList"
+             class="org.apache.uima.resource.metadata.impl.TypePriorityList_impl"/>
+    <binding element="processingResourceMetaData"
+             interface="org.apache.uima.resource.metadata.ProcessingResourceMetaData"
+             class="org.apache.uima.resource.metadata.impl.ProcessingResourceMetaData_impl"/>
+    <binding element="resourceMetaData" 
+             interface="org.apache.uima.resource.metadata.ResourceMetaData"
+             class="org.apache.uima.resource.metadata.impl.ResourceMetaData_impl"/>
+    <binding element="resourceManagerConfiguration"
+             interface="org.apache.uima.resource.metadata.ResourceManagerConfiguration"
+             class="org.apache.uima.resource.metadata.impl.ResourceManagerConfiguration_impl"/>
+    <binding element="resultSpecification"
+             interface="org.apache.uima.analysis_engine.ResultSpecification"
+             class="org.apache.uima.analysis_engine.impl.ResultSpecification_impl"/>
+    <binding element="flowController"
+             interface="org.apache.uima.analysis_engine.metadata.FlowControllerDeclaration"
+             class="org.apache.uima.analysis_engine.metadata.impl.FlowControllerDeclaration_impl"/>
+    <binding element="simplePrecondition"
+             interface="org.apache.uima.resource.metadata.SimplePrecondition"
+             class="org.apache.uima.resource.metadata.impl.SimplePrecondition_impl"/>
+    <binding element="style"
+             interface="org.apache.uima.search.Style"
+             class="org.apache.uima.search.impl.Style_impl"/>
+    <binding element="taeDescription"
+             interface="org.apache.uima.analysis_engine.TaeDescription"
+             class="org.apache.uima.analysis_engine.impl.TaeDescription_impl"/>
+    <binding element="type"
+             interface="org.apache.uima.analysis_engine.TypeOrFeature"
+             class="org.apache.uima.analysis_engine.impl.TypeOrFeature_impl"/>
+    <binding element="typeDescription"
+             interface="org.apache.uima.resource.metadata.TypeDescription"
+             class="org.apache.uima.resource.metadata.impl.TypeDescription_impl"/>
+    <binding element="typePriorities"
+             interface="org.apache.uima.resource.metadata.TypePriorities"
+             class="org.apache.uima.resource.metadata.impl.TypePriorities_impl"/>
+    <binding element="typeSystemDescription"
+             interface="org.apache.uima.resource.metadata.TypeSystemDescription"
+             class="org.apache.uima.resource.metadata.impl.TypeSystemDescription_impl"/>
+    <binding element="uriSpecifier"
+             interface="org.apache.uima.resource.URISpecifier"
+             class="org.apache.uima.resource.impl.URISpecifier_impl"/>
+    <binding element="pearSpecifier"
+             interface="org.apache.uima.resource.PearSpecifier"
+             class="org.apache.uima.resource.impl.PearSpecifier_impl"/>
+    <binding element="value"
+             interface="org.apache.uima.resource.metadata.AllowedValue"
+             class="org.apache.uima.resource.metadata.impl.AllowedValue_impl"/>
+    <binding element="sofaMapping"
+             interface="org.apache.uima.analysis_engine.metadata.SofaMapping"
+             class="org.apache.uima.analysis_engine.metadata.impl.SofaMapping_impl"/>
+
+    <binding element="casInitializer" 
+             interface="org.apache.uima.collection.metadata.CpeCollectionReaderCasInitializer"
+             class="org.apache.uima.collection.impl.metadata.cpe.CpeCollectionReaderCasInitializerImpl"/>
+    <binding element="casProcessor"
+             interface="org.apache.uima.collection.metadata.CpeCasProcessor"
+             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorCpeObject"/>
+    <binding element="casProcessors"
+             interface="org.apache.uima.collection.metadata.CpeCasProcessors"
+             class="org.apache.uima.collection.impl.metadata.cpe.CpeCasProcessorsImpl"/>
+    <binding element="checkpoint"
+             interface="org.apache.uima.collection.metadata.CpeCheckpoint"
+             class="org.apache.uima.collection.impl.metadata.cpe.CpeCheckpointImpl"/>
+    <binding element="collectionIterator"
+             interface="org.apache.uima.collection.metadata.CpeCollectionReaderIterator"
+             class="org.apache.uima.collection.impl.metadata.cpe.CpeCollectionReaderIteratorImpl"/>
+    <binding element="collectionReader"
+             interface="org.apache.uima.collection.metadata.CpeCollectionReader"
+             class="org.apache.uima.collection.impl.metadata.cpe.CpeCollectionReaderImpl"/>
+    <binding element="cpeConfig"
+             interface="org.apache.uima.collection.metadata.CpeConfiguration"
+             class="org.apache.uima.collection.impl.metadata.cpe.CpeConfigurationImpl"/>
+    <binding element="cpeDescription"
+             interface="org.apache.uima.collection.metadata.CpeDescription"
+             class="org.apache.uima.collection.impl.metadata.cpe.CpeDescriptionImpl"/>
+    <binding element="descriptor"
+             interface="org.apache.uima.collection.metadata.CpeComponentDescriptor"
+             class="org.apache.uima.collection.impl.metadata.cpe.CpeComponentDescriptorImpl"/>
+    <binding element="errorHandling"
+             interface="org.apache.uima.collection.metadata.CasProcessorErrorHandling"
+             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorErrorHandlingImpl"/>
+    <binding element="include"
+             interface="org.apache.uima.collection.metadata.CpeInclude"
+             class="org.apache.uima.collection.impl.metadata.cpe.CpeIncludeImpl"/>
+    <binding element="runInSeparateProcess"
+             interface="org.apache.uima.collection.metadata.CasProcessorRunInSeperateProcess"
+             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorRunInSeperateProcessImpl"/>
+    <binding element="deploymentParameters"
+             interface="org.apache.uima.collection.metadata.CasProcessorDeploymentParams"
+             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorDeploymentParamsImpl"/>
+    <binding element="exec"
+             interface="org.apache.uima.collection.metadata.CasProcessorExecutable"
+             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorExecutableImpl"/>
+    <binding element="filter"
+             interface="org.apache.uima.collection.metadata.CasProcessorFilter"
+             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorFilterImpl"/>
+    <binding element="arg"
+             interface="org.apache.uima.collection.metadata.CasProcessorExecArg"
+             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorExecArgImpl"/>
+    <binding element="env"
+             interface="org.apache.uima.collection.metadata.CasProcessorRuntimeEnvParam"
+             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorRuntimeEnvParamImpl"/>
+    <binding element="outputQueue" 
+             interface="org.apache.uima.collection.metadata.OutputQueue"
+             class="org.apache.uima.collection.impl.metadata.cpe.OutputQueue_impl"/>
+    <binding element="maxConsecutiveRestarts"
+             interface="org.apache.uima.collection.metadata.CasProcessorMaxRestarts"
+             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorMaxRestartsImpl"/>
+    <binding element="errorRateThreshold"
+             interface="org.apache.uima.collection.metadata.CasProcessorErrorRateThreshold"
+             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorErrorRateThresholdImpl"/>
+    <binding element="timeout"
+             interface="org.apache.uima.collection.metadata.CasProcessorTimeout"
+             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorTimeoutImpl"/>
+    <binding element="sofaNameMappings"
+             interface="org.apache.uima.collection.metadata.CpeSofaMappings"
+             class="org.apache.uima.collection.impl.metadata.cpe.CpeSofaMappingsImpl"/>
+
+    <binding interface="org.apache.uima.util.Settings"
+             class="org.apache.uima.util.impl.Settings_impl"/>
+  </resourceSpecifier>
 </factoryConfig>
diff --git a/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnalysisEngineDescription_implTest.java b/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnalysisEngineDescription_implTest.java
index ba87ffc39..e5735b2d6 100644
--- a/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnalysisEngineDescription_implTest.java
+++ b/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnalysisEngineDescription_implTest.java
@@ -232,12 +232,6 @@ public class AnalysisEngineDescription_implTest {
     primDesc2.getAnalysisEngineMetaData()
             .setCapabilities(new Capability[] { new Capability_impl() });
     delegateTaeMap.put("Empty", primDesc2);
-    // Can't use URI specifier if we try to produce resource, because it maps to either a SOAP or
-    // VINCI adapter,
-    // and that adapter is not on the class path for this causes a failure in loading
-    // URISpecifier uriSpec = new URISpecifier_impl();
-    // uriSpec.setUri("http://incubator.apache.org/uima");
-    // uriSpec.setProtocol(Constants.PROTOCOL_SOAP);
     FileResourceSpecifier fileResSpec = new FileResourceSpecifier_impl();
     fileResSpec.setFileUrl(TEST_DATA_FILE.toURL().toString());
     FlowControllerDeclaration fcDecl = new FlowControllerDeclaration_impl();
@@ -269,15 +263,6 @@ public class AnalysisEngineDescription_implTest {
     resMgrCfg.setExternalResourceBindings(new ExternalResourceBinding[] { binding });
     aggregateDesc.setResourceManagerConfiguration(resMgrCfg);
 
-    // AsbCreationSpecifier asbSpec = new AsbCreationSpecifier_impl();
-    // asbSpec.getAsbMetaData().setAsynchronousModeSupported(true);
-    // asbSpec.getAsbMetaData().setSupportedProtocols(new String[]{Constants.PROTOCOL_SOAP});
-    // aggregateDesc.setAsbSpecifier(asbSpec);
-    // AnalysisSequencerCrea1tionSpecifier seqSpec = new
-    // AnalysisSequencerCreationSpecifier_impl();
-    // seqSpec.getAnalysisSequencerMetaData().setSupportedPreconditionTypes(
-    // new String[]{SimplePrecondition.PRECONDITION_TYPE});
-    // aggregateDesc.setSequencerSpecifier(seqSpec);
     md = aggregateDesc.getAnalysisEngineMetaData();
     md.setName("Test Aggregate TAE");
     md.setDescription("Does not do anything useful.");
diff --git a/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/TaeDescription_implTest.java b/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/TaeDescription_implTest.java
index 7c2c84c9b..0e6af3ca1 100644
--- a/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/TaeDescription_implTest.java
+++ b/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/TaeDescription_implTest.java
@@ -191,7 +191,7 @@ public class TaeDescription_implTest {
       delegateTaeMap.put("Empty", primDesc2);
       URISpecifier uriSpec = new URISpecifier_impl();
       uriSpec.setUri("http://www.incubator.apache.org/uima");
-      uriSpec.setProtocol(Constants.PROTOCOL_SOAP);
+      uriSpec.setProtocol(Constants.PROTOCOL_VINCI);
       ExternalResourceDependency dep = UIMAFramework.getResourceSpecifierFactory()
               .createExternalResourceDependency();
       dep.setKey("ResourceKey");
@@ -211,15 +211,6 @@ public class TaeDescription_implTest {
       binding.setResourceName("Resource1");
       aggregateDesc.setResourceManagerConfiguration(resMgrCfg);
 
-      // AsbCreationSpecifier asbSpec = new AsbCreationSpecifier_impl();
-      // asbSpec.getAsbMetaData().setAsynchronousModeSupported(true);
-      // asbSpec.getAsbMetaData().setSupportedProtocols(new String[]{Constants.PROTOCOL_SOAP});
-      // aggregateDesc.setAsbSpecifier(asbSpec);
-      // AnalysisSequencerCrea1tionSpecifier seqSpec = new
-      // AnalysisSequencerCreationSpecifier_impl();
-      // seqSpec.getAnalysisSequencerMetaData().setSupportedPreconditionTypes(
-      // new String[]{SimplePrecondition.PRECONDITION_TYPE});
-      // aggregateDesc.setSequencerSpecifier(seqSpec);
       md = aggregateDesc.getAnalysisEngineMetaData();
       md.setName("Test Aggregate TAE");
       md.setDescription("Does not do anything useful.");
diff --git a/uimaj-core/src/test/java/org/apache/uima/collection/impl/CasConsumerDescription_implTest.java b/uimaj-core/src/test/java/org/apache/uima/collection/impl/CasConsumerDescription_implTest.java
index 63b46f685..6c440bd46 100644
--- a/uimaj-core/src/test/java/org/apache/uima/collection/impl/CasConsumerDescription_implTest.java
+++ b/uimaj-core/src/test/java/org/apache/uima/collection/impl/CasConsumerDescription_implTest.java
@@ -156,7 +156,7 @@ public class CasConsumerDescription_implTest {
 
       URISpecifier uriSpec = new URISpecifier_impl();
       uriSpec.setUri("http://www.incubator.apache.org/uima");
-      uriSpec.setProtocol(Constants.PROTOCOL_SOAP);
+      uriSpec.setProtocol(Constants.PROTOCOL_VINCI);
       ExternalResourceDependency dep = UIMAFramework.getResourceSpecifierFactory()
               .createExternalResourceDependency();
       dep.setKey("ResourceKey");
diff --git a/uimaj-core/src/test/java/org/apache/uima/collection/impl/CasInitializerDescription_implTest.java b/uimaj-core/src/test/java/org/apache/uima/collection/impl/CasInitializerDescription_implTest.java
index 2c55a374a..9c8b3d715 100644
--- a/uimaj-core/src/test/java/org/apache/uima/collection/impl/CasInitializerDescription_implTest.java
+++ b/uimaj-core/src/test/java/org/apache/uima/collection/impl/CasInitializerDescription_implTest.java
@@ -157,7 +157,7 @@ public class CasInitializerDescription_implTest {
 
       URISpecifier uriSpec = new URISpecifier_impl();
       uriSpec.setUri("http://www.incubator.apache.org/uima");
-      uriSpec.setProtocol(Constants.PROTOCOL_SOAP);
+      uriSpec.setProtocol(Constants.PROTOCOL_VINCI);
       ExternalResourceDependency dep = UIMAFramework.getResourceSpecifierFactory()
               .createExternalResourceDependency();
       dep.setKey("ResourceKey");
diff --git a/uimaj-core/src/test/java/org/apache/uima/collection/impl/CollectionReaderDescription_implTest.java b/uimaj-core/src/test/java/org/apache/uima/collection/impl/CollectionReaderDescription_implTest.java
index 6dbb640fd..c0e063bec 100644
--- a/uimaj-core/src/test/java/org/apache/uima/collection/impl/CollectionReaderDescription_implTest.java
+++ b/uimaj-core/src/test/java/org/apache/uima/collection/impl/CollectionReaderDescription_implTest.java
@@ -156,7 +156,7 @@ public class CollectionReaderDescription_implTest {
 
       URISpecifier uriSpec = new URISpecifier_impl();
       uriSpec.setUri("http://incubator.apache.org/uima");
-      uriSpec.setProtocol(Constants.PROTOCOL_SOAP);
+      uriSpec.setProtocol(Constants.PROTOCOL_VINCI);
       ExternalResourceDependency dep = UIMAFramework.getResourceSpecifierFactory()
               .createExternalResourceDependency();
       dep.setKey("ResourceKey");
diff --git a/uimaj-core/src/test/java/org/apache/uima/util/CasCreationUtilsTest.java b/uimaj-core/src/test/java/org/apache/uima/util/CasCreationUtilsTest.java
index fe6122e54..c9a76d524 100644
--- a/uimaj-core/src/test/java/org/apache/uima/util/CasCreationUtilsTest.java
+++ b/uimaj-core/src/test/java/org/apache/uima/util/CasCreationUtilsTest.java
@@ -526,10 +526,12 @@ public class CasCreationUtilsTest {
       cas.createFS(subtypeHandle);
       FSIterator iter = cas.getAnnotationIndex().iterator();
       while (iter.isValid()) {
-        if (iter.get().getType() == subtypeHandle) // expected
+        if (iter.get().getType() == subtypeHandle) {
           break;
-        if (iter.get().getType() == supertypeHandle) // unexpected
+        }
+        if (iter.get().getType() == supertypeHandle) {
           fail();
+        }
         iter.moveToNext();
       }
 
@@ -669,23 +671,8 @@ public class CasCreationUtilsTest {
               + JUnitExtension.getFile("TypePrioritiesImplTest/dataPathDir").getAbsolutePath()
               + pathSep
               + JUnitExtension.getFile("FsIndexCollectionImplTest/dataPathDir").getAbsolutePath());
-
-      File descFile2 = JUnitExtension
-              .getFile("CasCreationUtilsTest/AggregateTaeWithSoapDelegate.xml");
-      AnalysisEngineDescription desc2 = UIMAFramework.getXMLParser()
-              .parseAnalysisEngineDescription(new XMLInputSource(descFile2));
-      Map mergedTypes2 = new HashMap();
-      Map failedRemotes = new HashMap();
-      ProcessingResourceMetaData mergedMetaData2 = CasCreationUtils
-              .mergeDelegateAnalysisEngineMetaData(desc2, resMgr, mergedTypes2, failedRemotes);
-      assertTrue(failedRemotes.containsKey("/RemoteDelegate"));
-      // ((Exception)failedRemotes.get("/RemoteDelegate")).printStackTrace();
-      assertTrue(mergedMetaData2.getTypeSystem().getTypes().length > 0);
-
     } catch (Exception e) {
       JUnitExtension.handleException(e);
     }
-
   }
-
 }
diff --git a/uimaj-core/src/test/resources/CasCreationUtilsTest/AggregateTaeWithSoapDelegate.xml b/uimaj-core/src/test/resources/CasCreationUtilsTest/AggregateTaeWithSoapDelegate.xml
deleted file mode 100644
index c37fc4c6b..000000000
--- a/uimaj-core/src/test/resources/CasCreationUtilsTest/AggregateTaeWithSoapDelegate.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-
-<!-- Aggregate descriptor for testing merging of type system, type priorities, and indexes. -->
-
-<taeDescription xmlns="http://uima.apache.org/resourceSpecifier">
-<frameworkImplementation>org.apache.uima.java</frameworkImplementation>
-<primitive>false</primitive>
-
-<delegateAnalysisEngineSpecifiers>
-<delegateAnalysisEngine key="Annotator1">
-<import location="TaeWithImports.xml"/>
-</delegateAnalysisEngine>
-<delegateAnalysisEngine key="RemoteDelegate">
-<import location="SoapAE.xml"/>
-</delegateAnalysisEngine>
-</delegateAnalysisEngineSpecifiers> 
-
-<analysisEngineMetaData>
-<name>Aggregate TAE with Import</name>
-<description>For testing CAS Creation when there is an unreachable remote delegate.</description>
-<version>1.0</version>
-<vendor>The Apache Software Foundation</vendor>
-
-<flowConstraints>
-  <fixedFlow>
-    <node>Annotator1</node>
-  </fixedFlow>
-</flowConstraints>
-
-<!-- Capabilities: Inputs and Outputs -->
-<capabilities>
-<capability>
-<inputs/>
-<outputs/>
-<languagesSupported/>
-</capability>
-</capabilities>
-
-</analysisEngineMetaData>
-</taeDescription>
diff --git a/uimaj-core/src/test/resources/CasCreationUtilsTest/SoapAE.xml b/uimaj-core/src/test/resources/CasCreationUtilsTest/SoapAE.xml
deleted file mode 100644
index 4a98a0618..000000000
--- a/uimaj-core/src/test/resources/CasCreationUtilsTest/SoapAE.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<uriSpecifier xmlns="http://uima.apache.org/resourceSpecifier">
-  <resourceType>AnalysisEngine</resourceType>
-  <uri>http://localhost:8080/TestService</uri> 
-  <protocol>SOAP</protocol>
-  <timeout>10000</timeout>  
-</uriSpecifier>
diff --git a/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/editors/ui/AggregateSection.java b/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/editors/ui/AggregateSection.java
index 627efc309..ebebb220e 100644
--- a/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/editors/ui/AggregateSection.java
+++ b/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/editors/ui/AggregateSection.java
@@ -28,6 +28,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Vector;
 
+import org.apache.uima.Constants;
 import org.apache.uima.analysis_engine.AnalysisEngineDescription;
 import org.apache.uima.collection.CasConsumerDescription;
 import org.apache.uima.resource.PearSpecifier;
@@ -207,8 +208,9 @@ public class AggregateSection extends AbstractSection {
       for (int i = 0; i < priorOrderedKeys.length; i++) {
         if (keys.contains(priorOrderedKeys[i])) {
           Object o = delegates.get(priorOrderedKeys[i]);
-          if (o instanceof Import)
+          if (o instanceof Import) {
             addFile(o, priorOrderedKeys[i]);
+          }
           keys.remove(priorOrderedKeys[i]);
         }
       }
@@ -218,8 +220,9 @@ public class AggregateSection extends AbstractSection {
       while (itKeys.hasNext()) {
         String key = (String) itKeys.next();
         Object o = delegates.get(key);
-        if (o instanceof Import)
+        if (o instanceof Import) {
           addFile(o, key);
+        }
       }
       packTable(filesTable);
     }
@@ -233,22 +236,20 @@ public class AggregateSection extends AbstractSection {
    */
   @Override
   public void handleEvent(Event event) {
-    if (event.widget == addButton)
+    if (event.widget == addButton) {
       handleAdd();
-    else if (event.widget == removeButton
-            || (event.type == SWT.KeyUp && event.character == SWT.DEL))
+    } else if (event.widget == removeButton
+            || (event.type == SWT.KeyUp && event.character == SWT.DEL)) {
       handleRemove();
-    else if (event.widget == addToFlowButton)
+    } else if (event.widget == addToFlowButton) {
       handleAddToFlow();
-    else if (event.widget == removeFromFlowButton)
+    } else if (event.widget == removeFromFlowButton) {
       handleRemoveFromFlow();
-    else if (event.widget == addRemoteButton)
+    } else if (event.widget == addRemoteButton) {
       handleAddRemote();
-    else if (event.widget == findAnalysisEngineButton)
+    } else if (event.widget == findAnalysisEngineButton) {
       handleFindAnalysisEngine();
-
-    // actions on table
-    else if (event.widget == filesTable) {
+    } else if (event.widget == filesTable) {
       if (event.type == SWT.Selection) {
         // if no delegate is selected disable edit and remove
         boolean bEnableButtons = (filesTable.getSelectionCount() > 0);
@@ -361,8 +362,9 @@ public class AggregateSection extends AbstractSection {
 
     FlowNodes flow = new FlowNodes(getAnalysisEngineMetaData().getFlowConstraints());
     String[] savedFlowNodes = flow.getFlow();
-    if (null == savedFlowNodes)
+    if (null == savedFlowNodes) {
       savedFlowNodes = stringArray0;
+    }
 
     // item may be in the flow 0, 1 or more times
 
@@ -456,21 +458,27 @@ public class AggregateSection extends AbstractSection {
   }
 
   /** The Constant REMOTE_TEMPLATE. */
-  private final static String REMOTE_TEMPLATE = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"
-          + "<uriSpecifier xmlns=\"http://uima.apache.org/resourceSpecifier\">\n"
-          + "  <resourceType>{0}</resourceType>\n" + // AnalysisEngine CasConsumer
-          "  <uri>{1}</uri> \n" + // sURI
-          "  <protocol>{2}</protocol>\n" + // SOAP or Vinci
-          "  <timeout>{3}</timeout>" + "  {4}" + // <parameters> for VNS </parameters>
-          "\n</uriSpecifier>";
+  private final static String REMOTE_TEMPLATE = // @formatter:off
+      "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + //
+      "<uriSpecifier xmlns=\"http://uima.apache.org/resourceSpecifier\">\n" + //
+      "  <resourceType>{0}</resourceType>\n" + // AnalysisEngine CasConsumer
+      "  <uri>{1}</uri> \n" + // sURI
+      "  <protocol>{2}</protocol>\n" + // e.g. Vinci
+      "  <timeout>{3}</timeout>" + //
+      "  {4}" + // <parameters> for VNS </parameters>
+      "\n</uriSpecifier>"; // @formatter:on
 
   /** The Constant REMOTE_JMS_TEMPLATE. */
-  private final static String REMOTE_JMS_TEMPLATE = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"
-          + "<customResourceSpecifier xmlns=\"http://uima.apache.org/resourceSpecifier\">\n"
-          + "  <resourceClassName>org.apache.uima.aae.jms_adapter.JmsAnalysisEngineServiceAdapter</resourceClassName>\n"
-          + "  <parameters>\n" + "    <parameter name=\"brokerURL\" value=\"{0}\"/>\n"
-          + "    <parameter name=\"endpoint\"  value=\"{1}\"/>\n" + "{2}" + "  </parameters>\n"
-          + "</customResourceSpecifier>";
+  private final static String REMOTE_JMS_TEMPLATE = // @formatter:off
+      "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + //
+      "<customResourceSpecifier xmlns=\"http://uima.apache.org/resourceSpecifier\">\n" + //
+      "  <resourceClassName>org.apache.uima.aae.jms_adapter.JmsAnalysisEngineServiceAdapter</resourceClassName>\n" + //
+      "  <parameters>\n" + //
+      "    <parameter name=\"brokerURL\" value=\"{0}\"/>\n" + //
+      "    <parameter name=\"endpoint\"  value=\"{1}\"/>\n" + //
+      "{2}" + //
+      "  </parameters>\n" + //
+      "</customResourceSpecifier>"; // @formatter:on
 
   /**
    * Handle add remote.
@@ -479,12 +487,14 @@ public class AggregateSection extends AbstractSection {
     String sDescriptorPath = editor.getFile().getParent().getLocation().toString() + '/';
     AddRemoteServiceDialog dialog = new AddRemoteServiceDialog(this, sDescriptorPath);
     dialog.open();
-    if (dialog.getReturnCode() == Window.CANCEL)
+    if (dialog.getReturnCode() == Window.CANCEL) {
       return;
+    }
 
     String sServiceType = dialog.getSelectedServiceTypeName();
-    if (sServiceType != null && !sServiceType.equals("UIMA-AS JMS") && !sServiceType.equals("SOAP")
-            && !sServiceType.equals("Vinci")) {
+    if (sServiceType != null && !sServiceType.equals("UIMA-AS JMS")
+            && !sServiceType.equals(Constants.PROTOCOL_SOAP)
+            && !sServiceType.equals(Constants.PROTOCOL_VINCI)) {
       return;
     }
     String sURI = dialog.getSelectedUri();
@@ -509,8 +519,9 @@ public class AggregateSection extends AbstractSection {
                   new Object[] { dialog.vnsPort });
         }
 
-        if (vnsHostPort.length() > 0)
+        if (vnsHostPort.length() > 0) {
           vnsHostPort = "\n  <parameters>" + vnsHostPort + "  </parameters>";
+        }
 
         printWriter.println(MessageFormat.format(REMOTE_TEMPLATE,
                 new Object[] { dialog.aeOrCc, sURI, sServiceType, dialog.timeout, vnsHostPort }));
@@ -570,8 +581,9 @@ public class AggregateSection extends AbstractSection {
             "Find an Analysis Engine (AE), CAS Consumer, or Remote Service Descriptor",
             "Specify a name pattern and/or additional constraints, and then push the Search button",
             delegateComponentStringHeadersLC);
-    if (Window.CANCEL == dialog1.open())
+    if (Window.CANCEL == dialog1.open()) {
       return;
+    }
 
     List matchingDelegateComponentDescriptors = dialog1.getMatchingDelegateComponentDescriptors();
     List matchingDelegateComponentDescriptions = dialog1.getMatchingDelegateComponentDescriptions();
@@ -585,8 +597,9 @@ public class AggregateSection extends AbstractSection {
 
     PickTaeForTypesDialog dialog2 = new PickTaeForTypesDialog(this, editor.getFile().getName(),
             matchingDelegateComponentDescriptors, matchingDelegateComponentDescriptions);
-    if (Window.CANCEL == dialog2.open())
+    if (Window.CANCEL == dialog2.open()) {
       return;
+    }
 
     String[] selectedDelegateComponentDescriptors = dialog2
             .getSelectedDelegateComponentDescriptors();
@@ -679,8 +692,9 @@ public class AggregateSection extends AbstractSection {
 
     // read the content and merge into our model
     XMLizable inputDescription = readImport(imp, fileName, isImportByName);
-    if (null == inputDescription)
+    if (null == inputDescription) {
       return false;
+    }
 
     if (!(inputDescription instanceof AnalysisEngineDescription)
             && !(inputDescription instanceof CasConsumerDescription)
@@ -836,8 +850,9 @@ public class AggregateSection extends AbstractSection {
   private void addFile(Object o, String keyName) {
     Import impItem = (Import) o;
     String fileName = impItem.getLocation();
-    if (null == fileName || (0 == fileName.length()))
+    if (null == fileName || (0 == fileName.length())) {
       fileName = impItem.getName();
+    }
     // create new TableItem
     TableItem item = new TableItem(filesTable, SWT.NONE);
     item.setImage(TAEConfiguratorPlugin.getImage(TAEConfiguratorPlugin.IMAGE_ANNOTATOR));
diff --git a/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/editors/ui/dialogs/AddRemoteServiceDialog.java b/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/editors/ui/dialogs/AddRemoteServiceDialog.java
index a7a47d234..b1eeff0ff 100644
--- a/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/editors/ui/dialogs/AddRemoteServiceDialog.java
+++ b/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/editors/ui/dialogs/AddRemoteServiceDialog.java
@@ -21,6 +21,7 @@ package org.apache.uima.taeconfigurator.editors.ui.dialogs;
 
 import java.text.MessageFormat;
 
+import org.apache.uima.Constants;
 import org.apache.uima.taeconfigurator.CDEpropertyPage;
 import org.apache.uima.taeconfigurator.editors.ui.AbstractSection;
 import org.eclipse.swt.SWT;
@@ -195,12 +196,14 @@ public class AddRemoteServiceDialog extends AbstractDialog {
     public void modifyText(ModifyEvent e) {
       String text = genFilePathUI.getText();
       int pos = text.lastIndexOf(keyTextPrev);
-      if (pos == -1)
+      if (pos == -1) {
         pos = text.length();
+      }
       keyTextPrev = keyText.getText() + ".xml";
       genFilePathUI.setText(text.substring(0, pos) + keyTextPrev);
-      if (okButton != null)
+      if (okButton != null) {
         enableOK();
+      }
     }
   }
 
@@ -225,8 +228,9 @@ public class AddRemoteServiceDialog extends AbstractDialog {
         setErrorMessage(
                 MessageFormat.format("invalid character(s): ''{0}''", new Object[] { e.text }));
         e.doit = false;
-      } else
+      } else {
         setErrorMessage("");
+      }
     }
   }
 
@@ -266,7 +270,8 @@ public class AddRemoteServiceDialog extends AbstractDialog {
 
     setTextAndTip(tempLabel = new Label(tc1, SWT.WRAP), "Protocol Service Type", S_, SWT.BEGINNING,
             false);
-    serviceTypeCombo = wideCCombo(tc1, S_, "UIMA-AS JMS", "SOAP", "Vinci");
+    serviceTypeCombo = wideCCombo(tc1, S_, "UIMA-AS JMS", Constants.PROTOCOL_SOAP,
+            Constants.PROTOCOL_VINCI);
 
     setTextAndTip(uriLabel = new Label(tc1, SWT.NONE), "URI of service or JMS Broker:",
             "The URI for the service, e.g. localhost", SWT.BEGINNING, false);
diff --git a/uimaj-ep-runtime/pom.xml b/uimaj-ep-runtime/pom.xml
index e0c08fc67..e83c61db3 100644
--- a/uimaj-ep-runtime/pom.xml
+++ b/uimaj-ep-runtime/pom.xml
@@ -83,20 +83,6 @@
       <scope>compile</scope>
     </dependency>
 
-    <!-- dropping the soap component 2/2008 because
-         it requires axis jars to be in the plugin
-         and those are not distributed by us
-
-         Users who want this functionality will need to
-         build their own version of the runtime plugin
-      -->
-    <!--dependency>
-      <groupId>org.apache.uima</groupId>
-      <artifactId>uimaj-adapter-soap</artifactId>
-      <version>${uimaj-release-version}</version>
-      <scope>compile</scope>
-    </dependency-->
-
     <dependency>
       <groupId>org.apache.uima</groupId>
       <artifactId>jVinci</artifactId>
@@ -210,10 +196,6 @@
                   org.apache.vinci.transport.vns.service
                 </_exportcontents>
     
-                <!-- excluded packages:
-                   org.apache.uima.adapter.soap,
-                   org.apache.uima.adapter.soap.axis11,
-                 -->
                 <Import-Package>org.slf4j*,
                   !com.strobel.assembler,
                   !com.strobel.assembler.metadata,
diff --git a/uimaj-examples/src/main/deploy/soap/Deploy_GovernmentTitleRecognizer.wsdd b/uimaj-examples/src/main/deploy/soap/Deploy_GovernmentTitleRecognizer.wsdd
deleted file mode 100644
index cb68c41aa..000000000
--- a/uimaj-examples/src/main/deploy/soap/Deploy_GovernmentTitleRecognizer.wsdd
+++ /dev/null
@@ -1,54 +0,0 @@
-<deployment name="GovernmentTitleRecognizer" xmlns="http://xml.apache.org/axis/wsdd/"
-    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
-
-	<!--
-	 ***************************************************************
-	 * Licensed to the Apache Software Foundation (ASF) under one
-	 * or more contributor license agreements.  See the NOTICE file
-	 * distributed with this work for additional information
-	 * regarding copyright ownership.  The ASF licenses this file
-	 * to you under the Apache License, Version 2.0 (the
-	 * "License"); you may not use this file except in compliance
-	 * with the License.  You may obtain a copy of the License at
-         *
-	 *   http://www.apache.org/licenses/LICENSE-2.0
-	 * 
-	 * Unless required by applicable law or agreed to in writing,
-	 * software distributed under the License is distributed on an
-	 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	 * KIND, either express or implied.  See the License for the
-	 * specific language governing permissions and limitations
-	 * under the License.
-	 ***************************************************************
-   -->
-
-  <service name="urn:GovernmentTitleRecognizer" provider="java:RPC">
-    <paramater name="scope" value="Request"/>
-    <parameter name="className" value="org.apache.uima.adapter.soap.AxisAnalysisEngineService_impl"/>
-    <parameter name="allowedMethods" value="getMetaData process"/>
-    <parameter name="allowedRoles" value="*"/>
-    <parameter name="resourceSpecifierPath" value="C:/Program Files/apache-uima/examples/descriptors/analysis_engine/GovernmentOfficialRecognizer_RegEx_TAE.xml"/>
-    <parameter name="numInstances" value="3"/>
-    <parameter name="enableLogging" value="true"/>
-
-    <typeMapping qname="ns:resourceMetaData" xmlns:ns="http://uima.apache.org/resourceSpecifier"
-             languageSpecificType="java:org.apache.uima.resource.metadata.ResourceMetaData"
-             serializer="org.apache.uima.adapter.soap.XmlSerializerFactory"
-             deserializer="org.apache.uima.adapter.soap.XmlDeserializerFactory"
-             encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-
-    <typeMapping qname="ns:resultSpecification" xmlns:ns="http://uima.apache.org/analysis_engine"
-             languageSpecificType="java:org.apache.uima.analysis_engine.ResultSpecification"
-             serializer="org.apache.uima.adapter.soap.XmlSerializerFactory"
-             deserializer="org.apache.uima.adapter.soap.XmlDeserializerFactory"
-             encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-
-    <typeMapping qname="ns:serviceDataCargo" xmlns:ns="http://uima.apache.org/analysis_engine"
-             languageSpecificType="java:org.apache.uima.analysis_engine.service.impl.ServiceDataCargo"
-             serializer="org.apache.uima.adapter.soap.BinarySerializerFactory"
-             deserializer="org.apache.uima.adapter.soap.BinaryDeserializerFactory"
-             encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-
-  </service>
-
-</deployment>
\ No newline at end of file
diff --git a/uimaj-examples/src/main/deploy/soap/Deploy_NamesAndPersonTitles.wsdd b/uimaj-examples/src/main/deploy/soap/Deploy_NamesAndPersonTitles.wsdd
deleted file mode 100644
index a38140340..000000000
--- a/uimaj-examples/src/main/deploy/soap/Deploy_NamesAndPersonTitles.wsdd
+++ /dev/null
@@ -1,54 +0,0 @@
-<deployment name="NamesAndPersonTitles" xmlns="http://xml.apache.org/axis/wsdd/"
-    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
-	
-        <!--
-	 ***************************************************************
-	 * Licensed to the Apache Software Foundation (ASF) under one
-	 * or more contributor license agreements.  See the NOTICE file
-	 * distributed with this work for additional information
-	 * regarding copyright ownership.  The ASF licenses this file
-	 * to you under the Apache License, Version 2.0 (the
-	 * "License"); you may not use this file except in compliance
-	 * with the License.  You may obtain a copy of the License at
-         *
-	 *   http://www.apache.org/licenses/LICENSE-2.0
-	 * 
-	 * Unless required by applicable law or agreed to in writing,
-	 * software distributed under the License is distributed on an
-	 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	 * KIND, either express or implied.  See the License for the
-	 * specific language governing permissions and limitations
-	 * under the License.
-	 ***************************************************************
-   -->
-
-  <service name="urn:NamesAndPersonTitles" provider="java:RPC">
-    <paramater name="scope" value="Request"/>
-    <parameter name="className" value="org.apache.uima.adapter.soap.AxisAnalysisEngineService_impl"/>
-    <parameter name="allowedMethods" value="getMetaData process"/>
-    <parameter name="allowedRoles" value="*"/>
-    <parameter name="resourceSpecifierPath" value="C:/Program Files/apache-uima/examples/descriptors/analysis_engine/NamesAndPersonTitles_TAE.xml"/>
-    <parameter name="numInstances" value="3"/>
-    <parameter name="enableLogging" value="true"/>
-
-    <typeMapping qname="ns:resourceMetaData" xmlns:ns="http://uima.apache.org/resourceSpecifier"
-             languageSpecificType="java:org.apache.uima.resource.metadata.ResourceMetaData"
-             serializer="org.apache.uima.adapter.soap.XmlSerializerFactory"
-             deserializer="org.apache.uima.adapter.soap.XmlDeserializerFactory"
-             encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-
-    <typeMapping qname="ns:resultSpecification" xmlns:ns="http://uima.apache.org/analysis_engine"
-             languageSpecificType="java:org.apache.uima.analysis_engine.ResultSpecification"
-             serializer="org.apache.uima.adapter.soap.XmlSerializerFactory"
-             deserializer="org.apache.uima.adapter.soap.XmlDeserializerFactory"
-             encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-
-    <typeMapping qname="ns:serviceDataCargo" xmlns:ns="http://uima.apache.org/analysis_engine"
-             languageSpecificType="java:org.apache.uima.analysis_engine.service.impl.ServiceDataCargo"
-             serializer="org.apache.uima.adapter.soap.BinarySerializerFactory"
-             deserializer="org.apache.uima.adapter.soap.BinaryDeserializerFactory"
-             encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-
-  </service>
-
-</deployment>
\ No newline at end of file
diff --git a/uimaj-examples/src/main/deploy/soap/Deploy_PersonTitleAnnotator.wsdd b/uimaj-examples/src/main/deploy/soap/Deploy_PersonTitleAnnotator.wsdd
deleted file mode 100644
index 8ee02afb0..000000000
--- a/uimaj-examples/src/main/deploy/soap/Deploy_PersonTitleAnnotator.wsdd
+++ /dev/null
@@ -1,55 +0,0 @@
-<deployment name="PersonTitleAnnotator" xmlns="http://xml.apache.org/axis/wsdd/"
-    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
-
-        <!--
-	 ***************************************************************
-	 * Licensed to the Apache Software Foundation (ASF) under one
-	 * or more contributor license agreements.  See the NOTICE file
-	 * distributed with this work for additional information
-	 * regarding copyright ownership.  The ASF licenses this file
-	 * to you under the Apache License, Version 2.0 (the
-	 * "License"); you may not use this file except in compliance
-	 * with the License.  You may obtain a copy of the License at
-         *
-	 *   http://www.apache.org/licenses/LICENSE-2.0
-	 * 
-	 * Unless required by applicable law or agreed to in writing,
-	 * software distributed under the License is distributed on an
-	 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	 * KIND, either express or implied.  See the License for the
-	 * specific language governing permissions and limitations
-	 * under the License.
-	 ***************************************************************
-   -->
-
-
-  <service name="urn:PersonTitleAnnotator" provider="java:RPC">
-    <paramater name="scope" value="Request"/>
-    <parameter name="className" value="org.apache.uima.adapter.soap.AxisAnalysisEngineService_impl"/>
-    <parameter name="allowedMethods" value="getMetaData process"/>
-    <parameter name="allowedRoles" value="*"/>
-    <parameter name="resourceSpecifierPath" value="C:/Program Files/apache-uima/examples/descriptors/analysis_engine/PersonTitleAnnotator.xml"/>
-    <parameter name="numInstances" value="3"/>
-    <parameter name="enableLogging" value="true"/>
-
-    <typeMapping qname="ns:resourceMetaData" xmlns:ns="http://uima.apache.org/resourceSpecifier"
-             languageSpecificType="java:org.apache.uima.resource.metadata.ResourceMetaData"
-             serializer="org.apache.uima.adapter.soap.XmlSerializerFactory"
-             deserializer="org.apache.uima.adapter.soap.XmlDeserializerFactory"
-             encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-
-    <typeMapping qname="ns:resultSpecification" xmlns:ns="http://uima.apache.org/analysis_engine"
-             languageSpecificType="java:org.apache.uima.analysis_engine.ResultSpecification"
-             serializer="org.apache.uima.adapter.soap.XmlSerializerFactory"
-             deserializer="org.apache.uima.adapter.soap.XmlDeserializerFactory"
-             encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-
-    <typeMapping qname="ns:serviceDataCargo" xmlns:ns="http://uima.apache.org/analysis_engine"
-             languageSpecificType="java:org.apache.uima.analysis_engine.service.impl.ServiceDataCargo"
-             serializer="org.apache.uima.adapter.soap.BinarySerializerFactory"
-             deserializer="org.apache.uima.adapter.soap.BinaryDeserializerFactory"
-             encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-
-  </service>
-
-</deployment>
\ No newline at end of file
diff --git a/uimaj-examples/src/main/deploy/soap/Deploy_SimpleNameRecognizer.wsdd b/uimaj-examples/src/main/deploy/soap/Deploy_SimpleNameRecognizer.wsdd
deleted file mode 100644
index b5e8a1481..000000000
--- a/uimaj-examples/src/main/deploy/soap/Deploy_SimpleNameRecognizer.wsdd
+++ /dev/null
@@ -1,55 +0,0 @@
-<deployment name="SimpleNameRecognizer" xmlns="http://xml.apache.org/axis/wsdd/"
-    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
-
-        <!--
-	 ***************************************************************
-	 * Licensed to the Apache Software Foundation (ASF) under one
-	 * or more contributor license agreements.  See the NOTICE file
-	 * distributed with this work for additional information
-	 * regarding copyright ownership.  The ASF licenses this file
-	 * to you under the Apache License, Version 2.0 (the
-	 * "License"); you may not use this file except in compliance
-	 * with the License.  You may obtain a copy of the License at
-         *
-	 *   http://www.apache.org/licenses/LICENSE-2.0
-	 * 
-	 * Unless required by applicable law or agreed to in writing,
-	 * software distributed under the License is distributed on an
-	 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	 * KIND, either express or implied.  See the License for the
-	 * specific language governing permissions and limitations
-	 * under the License.
-	 ***************************************************************
-   -->
-
-
-  <service name="urn:SimpleNameRecognizer" provider="java:RPC">
-    <paramater name="scope" value="Request"/>
-    <parameter name="className" value="org.apache.uima.adapter.soap.AxisAnalysisEngineService_impl"/>
-    <parameter name="allowedMethods" value="getMetaData process"/>
-    <parameter name="allowedRoles" value="*"/>
-    <parameter name="resourceSpecifierPath" value="C:/Program Files/apache-uima/examples/descriptors/analysis_engine/SimpleNameRecognizer_RegEx_TAE.xml"/>
-    <parameter name="numInstances" value="3"/>
-    <parameter name="enableLogging" value="true"/>
-
-    <typeMapping qname="ns:resourceMetaData" xmlns:ns="http://uima.apache.org/resourceSpecifier"
-             languageSpecificType="java:org.apache.uima.resource.metadata.ResourceMetaData"
-             serializer="org.apache.uima.adapter.soap.XmlSerializerFactory"
-             deserializer="org.apache.uima.adapter.soap.XmlDeserializerFactory"
-             encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-
-    <typeMapping qname="ns:resultSpecification" xmlns:ns="http://uima.apache.org/analysis_engine"
-             languageSpecificType="java:org.apache.uima.analysis_engine.ResultSpecification"
-             serializer="org.apache.uima.adapter.soap.XmlSerializerFactory"
-             deserializer="org.apache.uima.adapter.soap.XmlDeserializerFactory"
-             encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-
-    <typeMapping qname="ns:serviceDataCargo" xmlns:ns="http://uima.apache.org/analysis_engine"
-             languageSpecificType="java:org.apache.uima.analysis_engine.service.impl.ServiceDataCargo"
-             serializer="org.apache.uima.adapter.soap.BinarySerializerFactory"
-             deserializer="org.apache.uima.adapter.soap.BinaryDeserializerFactory"
-             encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-
-  </service>
-
-</deployment>
\ No newline at end of file
diff --git a/uimaj-examples/src/main/deploy/soap/Undeploy_GovernmentTitleRecognizer.wsdd b/uimaj-examples/src/main/deploy/soap/Undeploy_GovernmentTitleRecognizer.wsdd
deleted file mode 100644
index aa44ea861..000000000
--- a/uimaj-examples/src/main/deploy/soap/Undeploy_GovernmentTitleRecognizer.wsdd
+++ /dev/null
@@ -1,27 +0,0 @@
-<undeployment name="GovernmentTitleRecognizer" xmlns="http://xml.apache.org/axis/wsdd/" 
-    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
-
-        <!--
-	 ***************************************************************
-	 * Licensed to the Apache Software Foundation (ASF) under one
-	 * or more contributor license agreements.  See the NOTICE file
-	 * distributed with this work for additional information
-	 * regarding copyright ownership.  The ASF licenses this file
-	 * to you under the Apache License, Version 2.0 (the
-	 * "License"); you may not use this file except in compliance
-	 * with the License.  You may obtain a copy of the License at
-         *
-	 *   http://www.apache.org/licenses/LICENSE-2.0
-	 * 
-	 * Unless required by applicable law or agreed to in writing,
-	 * software distributed under the License is distributed on an
-	 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	 * KIND, either express or implied.  See the License for the
-	 * specific language governing permissions and limitations
-	 * under the License.
-	 ***************************************************************
-   -->
-
-
-<service name="urn:GovernmentTitleRecognizer"/>
-</undeployment>
diff --git a/uimaj-examples/src/main/deploy/soap/Undeploy_NamesAndPersonTitles.wsdd b/uimaj-examples/src/main/deploy/soap/Undeploy_NamesAndPersonTitles.wsdd
deleted file mode 100644
index 4f686786b..000000000
--- a/uimaj-examples/src/main/deploy/soap/Undeploy_NamesAndPersonTitles.wsdd
+++ /dev/null
@@ -1,26 +0,0 @@
-<undeployment name="NamesAndPersonTitles" xmlns="http://xml.apache.org/axis/wsdd/" 
-    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
-
-        <!--
-	 ***************************************************************
-	 * Licensed to the Apache Software Foundation (ASF) under one
-	 * or more contributor license agreements.  See the NOTICE file
-	 * distributed with this work for additional information
-	 * regarding copyright ownership.  The ASF licenses this file
-	 * to you under the Apache License, Version 2.0 (the
-	 * "License"); you may not use this file except in compliance
-	 * with the License.  You may obtain a copy of the License at
-         *
-	 *   http://www.apache.org/licenses/LICENSE-2.0
-	 * 
-	 * Unless required by applicable law or agreed to in writing,
-	 * software distributed under the License is distributed on an
-	 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	 * KIND, either express or implied.  See the License for the
-	 * specific language governing permissions and limitations
-	 * under the License.
-	 ***************************************************************
-   -->
-
-<service name="urn:NamesAndPersonTitles"/>
-</undeployment>
diff --git a/uimaj-examples/src/main/deploy/soap/Undeploy_PersonTitleAnnotator.wsdd b/uimaj-examples/src/main/deploy/soap/Undeploy_PersonTitleAnnotator.wsdd
deleted file mode 100644
index 3dfd5a574..000000000
--- a/uimaj-examples/src/main/deploy/soap/Undeploy_PersonTitleAnnotator.wsdd
+++ /dev/null
@@ -1,26 +0,0 @@
-<undeployment name="PersonTitleAnnotator" xmlns="http://xml.apache.org/axis/wsdd/" 
-    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
-
-        <!--
-	 ***************************************************************
-	 * Licensed to the Apache Software Foundation (ASF) under one
-	 * or more contributor license agreements.  See the NOTICE file
-	 * distributed with this work for additional information
-	 * regarding copyright ownership.  The ASF licenses this file
-	 * to you under the Apache License, Version 2.0 (the
-	 * "License"); you may not use this file except in compliance
-	 * with the License.  You may obtain a copy of the License at
-         *
-	 *   http://www.apache.org/licenses/LICENSE-2.0
-	 * 
-	 * Unless required by applicable law or agreed to in writing,
-	 * software distributed under the License is distributed on an
-	 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	 * KIND, either express or implied.  See the License for the
-	 * specific language governing permissions and limitations
-	 * under the License.
-	 ***************************************************************
-   -->
-
-<service name="urn:PersonTitleAnnotator"/>
-</undeployment>
diff --git a/uimaj-examples/src/main/deploy/soap/Undeploy_SimpleNameRecognizer.wsdd b/uimaj-examples/src/main/deploy/soap/Undeploy_SimpleNameRecognizer.wsdd
deleted file mode 100644
index 903e3c603..000000000
--- a/uimaj-examples/src/main/deploy/soap/Undeploy_SimpleNameRecognizer.wsdd
+++ /dev/null
@@ -1,26 +0,0 @@
-<undeployment name="SimpleNameRecognizer" xmlns="http://xml.apache.org/axis/wsdd/" 
-    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
-
-        <!--
-	 ***************************************************************
-	 * Licensed to the Apache Software Foundation (ASF) under one
-	 * or more contributor license agreements.  See the NOTICE file
-	 * distributed with this work for additional information
-	 * regarding copyright ownership.  The ASF licenses this file
-	 * to you under the Apache License, Version 2.0 (the
-	 * "License"); you may not use this file except in compliance
-	 * with the License.  You may obtain a copy of the License at
-         *
-	 *   http://www.apache.org/licenses/LICENSE-2.0
-	 * 
-	 * Unless required by applicable law or agreed to in writing,
-	 * software distributed under the License is distributed on an
-	 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	 * KIND, either express or implied.  See the License for the
-	 * specific language governing permissions and limitations
-	 * under the License.
-	 ***************************************************************
-   -->
-
-<service name="urn:SimpleNameRecognizer"/>
-</undeployment>
diff --git a/uimaj-examples/src/main/descriptors/soapService/GovernmentTitleRecognizerService.xml b/uimaj-examples/src/main/descriptors/soapService/GovernmentTitleRecognizerService.xml
deleted file mode 100644
index b82c58c23..000000000
--- a/uimaj-examples/src/main/descriptors/soapService/GovernmentTitleRecognizerService.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> 
-
-	<!--
-	 ***************************************************************
-	 * Licensed to the Apache Software Foundation (ASF) under one
-	 * or more contributor license agreements.  See the NOTICE file
-	 * distributed with this work for additional information
-	 * regarding copyright ownership.  The ASF licenses this file
-	 * to you under the Apache License, Version 2.0 (the
-	 * "License"); you may not use this file except in compliance
-	 * with the License.  You may obtain a copy of the License at
-         *
-	 *   http://www.apache.org/licenses/LICENSE-2.0
-	 * 
-	 * Unless required by applicable law or agreed to in writing,
-	 * software distributed under the License is distributed on an
-	 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	 * KIND, either express or implied.  See the License for the
-	 * specific language governing permissions and limitations
-	 * under the License.
-	 ***************************************************************
-   -->
-   
-<uriSpecifier xmlns="http://uima.apache.org/resourceSpecifier">
-	<resourceType>AnalysisEngine</resourceType>
-	<uri>http://localhost:8080/axis/services/urn:GovernmentTitleRecognizer</uri>
-	<protocol>SOAP</protocol>
-</uriSpecifier>
\ No newline at end of file
diff --git a/uimaj-examples/src/main/descriptors/soapService/NamesAndPersonTitlesService.xml b/uimaj-examples/src/main/descriptors/soapService/NamesAndPersonTitlesService.xml
deleted file mode 100644
index 0a6e4784e..000000000
--- a/uimaj-examples/src/main/descriptors/soapService/NamesAndPersonTitlesService.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> 
-
-	<!--
-	 ***************************************************************
-	 * Licensed to the Apache Software Foundation (ASF) under one
-	 * or more contributor license agreements.  See the NOTICE file
-	 * distributed with this work for additional information
-	 * regarding copyright ownership.  The ASF licenses this file
-	 * to you under the Apache License, Version 2.0 (the
-	 * "License"); you may not use this file except in compliance
-	 * with the License.  You may obtain a copy of the License at
-         *
-	 *   http://www.apache.org/licenses/LICENSE-2.0
-	 * 
-	 * Unless required by applicable law or agreed to in writing,
-	 * software distributed under the License is distributed on an
-	 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	 * KIND, either express or implied.  See the License for the
-	 * specific language governing permissions and limitations
-	 * under the License.
-	 ***************************************************************
-   -->
-   
-<uriSpecifier xmlns="http://uima.apache.org/resourceSpecifier">
-	<resourceType>AnalysisEngine</resourceType>
-	<uri>http://localhost:8080/axis/services/urn:NamesAndPersonTitles</uri>
-	<protocol>SOAP</protocol>
-</uriSpecifier>
\ No newline at end of file
diff --git a/uimaj-examples/src/main/descriptors/soapService/PersonTitleAnnotatorService.xml b/uimaj-examples/src/main/descriptors/soapService/PersonTitleAnnotatorService.xml
deleted file mode 100644
index 366980bbb..000000000
--- a/uimaj-examples/src/main/descriptors/soapService/PersonTitleAnnotatorService.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> 
-
-	<!--
-	 ***************************************************************
-	 * Licensed to the Apache Software Foundation (ASF) under one
-	 * or more contributor license agreements.  See the NOTICE file
-	 * distributed with this work for additional information
-	 * regarding copyright ownership.  The ASF licenses this file
-	 * to you under the Apache License, Version 2.0 (the
-	 * "License"); you may not use this file except in compliance
-	 * with the License.  You may obtain a copy of the License at
-         *
-	 *   http://www.apache.org/licenses/LICENSE-2.0
-	 * 
-	 * Unless required by applicable law or agreed to in writing,
-	 * software distributed under the License is distributed on an
-	 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	 * KIND, either express or implied.  See the License for the
-	 * specific language governing permissions and limitations
-	 * under the License.
-	 ***************************************************************
-   -->
-   
-<uriSpecifier xmlns="http://uima.apache.org/resourceSpecifier">
-	<resourceType>AnalysisEngine</resourceType>
-	<uri>http://localhost:8080/axis/services/urn:PersonTitleAnnotator</uri>
-	<protocol>SOAP</protocol>
-</uriSpecifier>
\ No newline at end of file
diff --git a/uimaj-examples/src/main/descriptors/soapService/SimpleNameRecognizerService.xml b/uimaj-examples/src/main/descriptors/soapService/SimpleNameRecognizerService.xml
deleted file mode 100644
index 98c930cea..000000000
--- a/uimaj-examples/src/main/descriptors/soapService/SimpleNameRecognizerService.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> 
-
-	<!--
-	 ***************************************************************
-	 * Licensed to the Apache Software Foundation (ASF) under one
-	 * or more contributor license agreements.  See the NOTICE file
-	 * distributed with this work for additional information
-	 * regarding copyright ownership.  The ASF licenses this file
-	 * to you under the Apache License, Version 2.0 (the
-	 * "License"); you may not use this file except in compliance
-	 * with the License.  You may obtain a copy of the License at
-         *
-	 *   http://www.apache.org/licenses/LICENSE-2.0
-	 * 
-	 * Unless required by applicable law or agreed to in writing,
-	 * software distributed under the License is distributed on an
-	 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	 * KIND, either express or implied.  See the License for the
-	 * specific language governing permissions and limitations
-	 * under the License.
-	 ***************************************************************
-   -->
-   
-<uriSpecifier xmlns="http://uima.apache.org/resourceSpecifier">
-	<resourceType>AnalysisEngine</resourceType>
-	<uri>http://localhost:8080/axis/services/urn:SimpleNameRecognizer</uri>
-	<protocol>SOAP</protocol>
-</uriSpecifier>
\ No newline at end of file
diff --git a/uimaj-examples/src/main/eclipseProject/classpath b/uimaj-examples/src/main/eclipseProject/classpath
index 69365057c..840ee5aa0 100644
--- a/uimaj-examples/src/main/eclipseProject/classpath
+++ b/uimaj-examples/src/main/eclipseProject/classpath
@@ -49,7 +49,6 @@
   </classpathentry>     
 			
 	<classpathentry kind="var" path="UIMA_HOME/lib/uima-adapter-vinci.jar"/>
-	<classpathentry kind="var" path="UIMA_HOME/lib/uima-adapter-soap.jar"/>
 	<classpathentry kind="var" path="UIMA_HOME/lib/jVinci.jar"/>
 	<classpathentry kind="var" path="UIMA_HOME/lib/jackson-core-2.9.2.jar"/>
 	<classpathentry kind="var" path="UIMA_HOME/lib/uimaj-v3migration-jcas.jar"/>
diff --git a/uimaj-tools/src/main/resources/org/apache/uima/tools/migration/packageMapping.txt b/uimaj-tools/src/main/resources/org/apache/uima/tools/migration/packageMapping.txt
index 67564a1c5..9086ff68b 100644
--- a/uimaj-tools/src/main/resources/org/apache/uima/tools/migration/packageMapping.txt
+++ b/uimaj-tools/src/main/resources/org/apache/uima/tools/migration/packageMapping.txt
@@ -1,7 +1,4 @@
 com.ibm.uima org.apache.uima
-com.ibm.uima.reference_impl.analysis_engine.service.soap org.apache.uima.adapter.soap
-com.ibm.uima.reference_impl.resource.service.soap org.apache.uima.adapter.soap
-com.ibm.uima.reference_impl.resource.service.soap.axis11 org.apache.uima.adapter.soap.axis11
 com.ibm.uima.reference_impl.analysis_engine.service.vinci org.apache.uima.adapter.vinci
 com.ibm.uima.reference_impl.analysis_engine.service.vinci.util org.apache.uima.adapter.vinci.util
 com.ibm.uima.reference_impl.collection.service.vinci org.apache.uima.adapter.vinci
diff --git a/uimaj-tools/src/main/resources/org/apache/uima/tools/migration/stringReplacements.txt b/uimaj-tools/src/main/resources/org/apache/uima/tools/migration/stringReplacements.txt
index cd4ab4525..62b2e3a1b 100644
--- a/uimaj-tools/src/main/resources/org/apache/uima/tools/migration/stringReplacements.txt
+++ b/uimaj-tools/src/main/resources/org/apache/uima/tools/migration/stringReplacements.txt
@@ -25,7 +25,6 @@ TCASException CASException
 TCASRuntimeException CASRuntimeException
 TCasPool CasPool
 http:///com/ibm/uima/examples.ecore http:///org/apache/uima/examples.ecore
-uima_adapter_soap.jar uima-adapter-soap.jar
 uima_adapter_vinci.jar uima-adapter-vinci.jar
 uima_core.jar uima-core.jar
 uima_cpe.jar uima-cpe.jar