You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2015/02/17 12:36:29 UTC

[09/70] [abbrv] incubator-taverna-common-activities git commit: taverna-wsdl-generic/

http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/c8b66752/taverna-wsdl-generic/src/test/resources/testwsdls/GoViz.wsdl
----------------------------------------------------------------------
diff --git a/taverna-wsdl-generic/src/test/resources/testwsdls/GoViz.wsdl b/taverna-wsdl-generic/src/test/resources/testwsdls/GoViz.wsdl
new file mode 100644
index 0000000..57e1c06
--- /dev/null
+++ b/taverna-wsdl-generic/src/test/resources/testwsdls/GoViz.wsdl
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions targetNamespace="http://www.ebi.ac.uk/collab/mygrid/service1/goviz/GoViz.jws" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://www.ebi.ac.uk/collab/mygrid/service1/goviz/GoViz.jws" xmlns:intf="http://www.ebi.ac.uk/collab/mygrid/service1/goviz/GoViz.jws" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:types><schema targetNamespace="http://www.ebi.ac.uk/collab/mygrid/service1/goviz/GoViz.jws" xmlns="http://www.w3.org/2001/XMLSchema"><import namespace="http://schemas.xmlsoap.org/soap/encoding/"/><complexType name="ArrayOf_xsd_string"><complexContent><restriction base="soapenc:Array"><attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/></restriction></complexContent></complexType></schema></wsdl:types>
+  <wsdl:message name="clearColoursRequest">
+    <wsdl:part name="sessionID" type="xsd:string"/>
+  </wsdl:message>
+  <wsdl:message name="markTermRequest">
+    <wsdl:part name="sessionID" type="xsd:string"/>
+    <wsdl:part name="geneOntologyID" type="xsd:string"/>
+    <wsdl:part name="colour" type="xsd:string"/>
+  </wsdl:message>
+
+  <wsdl:message name="getChildrenResponse">
+    <wsdl:part name="getChildrenReturn" type="impl:ArrayOf_xsd_string"/>
+  </wsdl:message>
+  <wsdl:message name="getDotRequest">
+    <wsdl:part name="sessionID" type="xsd:string"/>
+  </wsdl:message>
+  <wsdl:message name="createSessionRequest">
+  </wsdl:message>
+  <wsdl:message name="getParentsRequest">
+
+    <wsdl:part name="geneOntologyID" type="xsd:string"/>
+  </wsdl:message>
+  <wsdl:message name="addTermRequest">
+    <wsdl:part name="sessionID" type="xsd:string"/>
+    <wsdl:part name="geneOntologyID" type="xsd:string"/>
+  </wsdl:message>
+  <wsdl:message name="clearColoursResponse">
+  </wsdl:message>
+  <wsdl:message name="createSessionResponse">
+
+    <wsdl:part name="createSessionReturn" type="xsd:string"/>
+  </wsdl:message>
+  <wsdl:message name="getAncestorsRequest">
+    <wsdl:part name="geneOntologyID" type="xsd:string"/>
+  </wsdl:message>
+  <wsdl:message name="destroySessionResponse">
+  </wsdl:message>
+  <wsdl:message name="addTermResponse">
+  </wsdl:message>
+
+  <wsdl:message name="getParentsResponse">
+    <wsdl:part name="getParentsReturn" type="impl:ArrayOf_xsd_string"/>
+  </wsdl:message>
+  <wsdl:message name="markTermResponse">
+  </wsdl:message>
+  <wsdl:message name="getDotResponse">
+    <wsdl:part name="getDotReturn" type="xsd:string"/>
+  </wsdl:message>
+  <wsdl:message name="destroySessionRequest">
+
+    <wsdl:part name="sessionID" type="xsd:string"/>
+  </wsdl:message>
+  <wsdl:message name="getChildrenRequest">
+    <wsdl:part name="geneOntologyID" type="xsd:string"/>
+  </wsdl:message>
+  <wsdl:message name="getAncestorsResponse">
+    <wsdl:part name="getAncestorsReturn" type="impl:ArrayOf_xsd_string"/>
+  </wsdl:message>
+  <wsdl:portType name="GoViz">
+
+    <wsdl:operation name="createSession">
+      <wsdl:input message="impl:createSessionRequest" name="createSessionRequest"/>
+      <wsdl:output message="impl:createSessionResponse" name="createSessionResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="destroySession" parameterOrder="sessionID">
+      <wsdl:input message="impl:destroySessionRequest" name="destroySessionRequest"/>
+      <wsdl:output message="impl:destroySessionResponse" name="destroySessionResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="getChildren" parameterOrder="geneOntologyID">
+
+      <wsdl:input message="impl:getChildrenRequest" name="getChildrenRequest"/>
+      <wsdl:output message="impl:getChildrenResponse" name="getChildrenResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="addTerm" parameterOrder="sessionID geneOntologyID">
+      <wsdl:input message="impl:addTermRequest" name="addTermRequest"/>
+      <wsdl:output message="impl:addTermResponse" name="addTermResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="clearColours" parameterOrder="sessionID">
+      <wsdl:input message="impl:clearColoursRequest" name="clearColoursRequest"/>
+
+      <wsdl:output message="impl:clearColoursResponse" name="clearColoursResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="getAncestors" parameterOrder="geneOntologyID">
+      <wsdl:input message="impl:getAncestorsRequest" name="getAncestorsRequest"/>
+      <wsdl:output message="impl:getAncestorsResponse" name="getAncestorsResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="getDot" parameterOrder="sessionID">
+      <wsdl:input message="impl:getDotRequest" name="getDotRequest"/>
+      <wsdl:output message="impl:getDotResponse" name="getDotResponse"/>
+
+    </wsdl:operation>
+    <wsdl:operation name="getParents" parameterOrder="geneOntologyID">
+      <wsdl:input message="impl:getParentsRequest" name="getParentsRequest"/>
+      <wsdl:output message="impl:getParentsResponse" name="getParentsResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="markTerm" parameterOrder="sessionID geneOntologyID colour">
+      <wsdl:input message="impl:markTermRequest" name="markTermRequest"/>
+      <wsdl:output message="impl:markTermResponse" name="markTermResponse"/>
+    </wsdl:operation>
+
+  </wsdl:portType>
+  <wsdl:binding name="GoVizSoapBinding" type="impl:GoViz">
+    <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="createSession">
+      <wsdlsoap:operation soapAction=""/>
+      <wsdl:input name="createSessionRequest">
+        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded"/>
+      </wsdl:input>
+      <wsdl:output name="createSessionResponse">
+
+        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.ebi.ac.uk/collab/mygrid/service1/goviz/GoViz.jws" use="encoded"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="destroySession">
+      <wsdlsoap:operation soapAction=""/>
+      <wsdl:input name="destroySessionRequest">
+        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded"/>
+      </wsdl:input>
+      <wsdl:output name="destroySessionResponse">
+
+        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.ebi.ac.uk/collab/mygrid/service1/goviz/GoViz.jws" use="encoded"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getChildren">
+      <wsdlsoap:operation soapAction=""/>
+      <wsdl:input name="getChildrenRequest">
+        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded"/>
+      </wsdl:input>
+      <wsdl:output name="getChildrenResponse">
+
+        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.ebi.ac.uk/collab/mygrid/service1/goviz/GoViz.jws" use="encoded"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="addTerm">
+      <wsdlsoap:operation soapAction=""/>
+      <wsdl:input name="addTermRequest">
+        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded"/>
+      </wsdl:input>
+      <wsdl:output name="addTermResponse">
+
+        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.ebi.ac.uk/collab/mygrid/service1/goviz/GoViz.jws" use="encoded"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="clearColours">
+      <wsdlsoap:operation soapAction=""/>
+      <wsdl:input name="clearColoursRequest">
+        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded"/>
+      </wsdl:input>
+      <wsdl:output name="clearColoursResponse">
+
+        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.ebi.ac.uk/collab/mygrid/service1/goviz/GoViz.jws" use="encoded"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getAncestors">
+      <wsdlsoap:operation soapAction=""/>
+      <wsdl:input name="getAncestorsRequest">
+        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded"/>
+      </wsdl:input>
+      <wsdl:output name="getAncestorsResponse">
+
+        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.ebi.ac.uk/collab/mygrid/service1/goviz/GoViz.jws" use="encoded"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getDot">
+      <wsdlsoap:operation soapAction=""/>
+      <wsdl:input name="getDotRequest">
+        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded"/>
+      </wsdl:input>
+      <wsdl:output name="getDotResponse">
+
+        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.ebi.ac.uk/collab/mygrid/service1/goviz/GoViz.jws" use="encoded"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getParents">
+      <wsdlsoap:operation soapAction=""/>
+      <wsdl:input name="getParentsRequest">
+        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded"/>
+      </wsdl:input>
+      <wsdl:output name="getParentsResponse">
+
+        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.ebi.ac.uk/collab/mygrid/service1/goviz/GoViz.jws" use="encoded"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="markTerm">
+      <wsdlsoap:operation soapAction=""/>
+      <wsdl:input name="markTermRequest">
+        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded"/>
+      </wsdl:input>
+      <wsdl:output name="markTermResponse">
+
+        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.ebi.ac.uk/collab/mygrid/service1/goviz/GoViz.jws" use="encoded"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="GoVizService">
+    <wsdl:port binding="impl:GoVizSoapBinding" name="GoViz">
+      <wsdlsoap:address location="http://www.ebi.ac.uk/collab/mygrid/service1/goviz/GoViz.jws"/>
+    </wsdl:port>
+  </wsdl:service>
+
+</wsdl:definitions>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/c8b66752/taverna-wsdl-generic/src/test/resources/testwsdls/MyService-rpc-literal.wsdl
----------------------------------------------------------------------
diff --git a/taverna-wsdl-generic/src/test/resources/testwsdls/MyService-rpc-literal.wsdl b/taverna-wsdl-generic/src/test/resources/testwsdls/MyService-rpc-literal.wsdl
new file mode 100644
index 0000000..31fe705
--- /dev/null
+++ b/taverna-wsdl-generic/src/test/resources/testwsdls/MyService-rpc-literal.wsdl
@@ -0,0 +1,392 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions targetNamespace="http://localhost:9090/axis/services/MyService" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:9090/axis/services/MyService" xmlns:intf="http://localhost:9090/axis/services/MyService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+<!--WSDL created by Apache Axis version: 1.4
+Built on Apr 22, 2006 (06:55:48 PDT)-->
+ <wsdl:types>
+  <schema targetNamespace="http://localhost:9090/axis/services/MyService" xmlns="http://www.w3.org/2001/XMLSchema">
+   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
+   <complexType name="Address">
+    <sequence>
+     <element name="city" nillable="true" type="xsd:string"/>
+     <element name="number" type="xsd:int"/>
+
+     <element name="road" nillable="true" type="xsd:string"/>
+    </sequence>
+   </complexType>
+   <complexType name="Person">
+    <sequence>
+     <element name="address" nillable="true" type="impl:Address"/>
+     <element name="age" type="xsd:int"/>
+     <element name="name" nillable="true" type="xsd:string"/>
+    </sequence>
+
+   </complexType>
+   <complexType name="ArrayOf_xsd_string">
+    <sequence>
+     <element maxOccurs="unbounded" minOccurs="0" name="item" type="xsd:string"/>
+    </sequence>
+   </complexType>
+   <complexType name="ArrayOfPerson">
+    <sequence>
+     <element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:Person"/>
+
+    </sequence>
+   </complexType>
+  </schema>
+ </wsdl:types>
+
+   <wsdl:message name="personArrayToStringRequest">
+
+      <wsdl:part name="array" type="impl:ArrayOfPerson"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getPersonResponse">
+
+      <wsdl:part name="getPersonReturn" type="impl:Person"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="countStringArrayRequest">
+
+      <wsdl:part name="array" type="impl:ArrayOf_xsd_string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getBinaryDataRequest">
+
+   </wsdl:message>
+
+   <wsdl:message name="countBytesRequest">
+
+      <wsdl:part name="bytes" type="xsd:base64Binary"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="personToStringResponse">
+
+      <wsdl:part name="personToStringReturn" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getStringRequest">
+
+   </wsdl:message>
+
+   <wsdl:message name="getStringResponse">
+
+      <wsdl:part name="getStringReturn" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="personArrayToStringResponse">
+
+      <wsdl:part name="personArrayToStringReturn" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="countStringRequest">
+
+      <wsdl:part name="str" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="countStringResponse">
+
+      <wsdl:part name="countStringReturn" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getBinaryDataResponse">
+
+      <wsdl:part name="getBinaryDataReturn" type="xsd:base64Binary"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getPersonRequest">
+
+   </wsdl:message>
+
+   <wsdl:message name="personToStringRequest">
+
+      <wsdl:part name="p" type="impl:Person"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="countStringArrayResponse">
+
+      <wsdl:part name="countStringArrayReturn" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getStringArrayRequest">
+
+   </wsdl:message>
+
+   <wsdl:message name="countBytesResponse">
+
+      <wsdl:part name="countBytesReturn" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getStringArrayResponse">
+
+      <wsdl:part name="getStringArrayReturn" type="impl:ArrayOf_xsd_string"/>
+
+   </wsdl:message>
+
+   <wsdl:portType name="TestServices">
+
+      <wsdl:operation name="getPerson">
+
+         <wsdl:input message="impl:getPersonRequest" name="getPersonRequest"/>
+
+         <wsdl:output message="impl:getPersonResponse" name="getPersonResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="personToString" parameterOrder="p">
+
+         <wsdl:input message="impl:personToStringRequest" name="personToStringRequest"/>
+
+         <wsdl:output message="impl:personToStringResponse" name="personToStringResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="countString" parameterOrder="str">
+
+         <wsdl:input message="impl:countStringRequest" name="countStringRequest"/>
+
+         <wsdl:output message="impl:countStringResponse" name="countStringResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="countStringArray" parameterOrder="array">
+
+         <wsdl:input message="impl:countStringArrayRequest" name="countStringArrayRequest"/>
+
+         <wsdl:output message="impl:countStringArrayResponse" name="countStringArrayResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="personArrayToString" parameterOrder="array">
+
+         <wsdl:input message="impl:personArrayToStringRequest" name="personArrayToStringRequest"/>
+
+         <wsdl:output message="impl:personArrayToStringResponse" name="personArrayToStringResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getBinaryData">
+
+         <wsdl:input message="impl:getBinaryDataRequest" name="getBinaryDataRequest"/>
+
+         <wsdl:output message="impl:getBinaryDataResponse" name="getBinaryDataResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="countBytes" parameterOrder="bytes">
+
+         <wsdl:input message="impl:countBytesRequest" name="countBytesRequest"/>
+
+         <wsdl:output message="impl:countBytesResponse" name="countBytesResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getString">
+
+         <wsdl:input message="impl:getStringRequest" name="getStringRequest"/>
+
+         <wsdl:output message="impl:getStringResponse" name="getStringResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getStringArray">
+
+         <wsdl:input message="impl:getStringArrayRequest" name="getStringArrayRequest"/>
+
+         <wsdl:output message="impl:getStringArrayResponse" name="getStringArrayResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="MyServiceSoapBinding" type="impl:TestServices">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="getPerson">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getPersonRequest">
+
+            <wsdlsoap:body namespace="http://testing.org" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getPersonResponse">
+
+            <wsdlsoap:body namespace="http://localhost:9090/axis/services/MyService" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="personToString">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="personToStringRequest">
+
+            <wsdlsoap:body namespace="http://testing.org" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="personToStringResponse">
+
+            <wsdlsoap:body namespace="http://localhost:9090/axis/services/MyService" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="countString">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="countStringRequest">
+
+            <wsdlsoap:body namespace="http://testing.org" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="countStringResponse">
+
+            <wsdlsoap:body namespace="http://localhost:9090/axis/services/MyService" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="countStringArray">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="countStringArrayRequest">
+
+            <wsdlsoap:body namespace="http://testing.org" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="countStringArrayResponse">
+
+            <wsdlsoap:body namespace="http://localhost:9090/axis/services/MyService" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="personArrayToString">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="personArrayToStringRequest">
+
+            <wsdlsoap:body namespace="http://testing.org" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="personArrayToStringResponse">
+
+            <wsdlsoap:body namespace="http://localhost:9090/axis/services/MyService" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getBinaryData">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getBinaryDataRequest">
+
+            <wsdlsoap:body namespace="http://testing.org" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getBinaryDataResponse">
+
+            <wsdlsoap:body namespace="http://localhost:9090/axis/services/MyService" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="countBytes">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="countBytesRequest">
+
+            <wsdlsoap:body namespace="http://testing.org" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="countBytesResponse">
+
+            <wsdlsoap:body namespace="http://localhost:9090/axis/services/MyService" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getString">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getStringRequest">
+
+            <wsdlsoap:body namespace="http://testing.org" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getStringResponse">
+
+            <wsdlsoap:body namespace="http://localhost:9090/axis/services/MyService" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getStringArray">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getStringArrayRequest">
+
+            <wsdlsoap:body namespace="http://testing.org" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getStringArrayResponse">
+
+            <wsdlsoap:body namespace="http://localhost:9090/axis/services/MyService" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="TestServicesService">
+
+      <wsdl:port binding="impl:MyServiceSoapBinding" name="MyService">
+
+         <wsdlsoap:address location="http://localhost:9090/axis/services/MyService"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/c8b66752/taverna-wsdl-generic/src/test/resources/testwsdls/SBWReader.wsdl
----------------------------------------------------------------------
diff --git a/taverna-wsdl-generic/src/test/resources/testwsdls/SBWReader.wsdl b/taverna-wsdl-generic/src/test/resources/testwsdls/SBWReader.wsdl
new file mode 100644
index 0000000..adf4582
--- /dev/null
+++ b/taverna-wsdl-generic/src/test/resources/testwsdls/SBWReader.wsdl
@@ -0,0 +1,602 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.sys-bio.org/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://www.sys-bio.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+  <wsdl:types>
+    <s:schema elementFormDefault="qualified" targetNamespace="http://www.sys-bio.org/">
+      <s:element name="doAnalysis">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="var0" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+
+      </s:element>
+      <s:element name="doAnalysisResponse">
+        <s:complexType />
+      </s:element>
+      <s:element name="loadSBML">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="var0" type="s:string" />
+          </s:sequence>
+
+        </s:complexType>
+      </s:element>
+      <s:element name="loadSBMLResponse">
+        <s:complexType />
+      </s:element>
+      <s:element name="getErrors">
+        <s:complexType />
+      </s:element>
+      <s:element name="getErrorsResponse">
+
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="getErrorsResult" type="tns:ArrayOfString" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:complexType name="ArrayOfString">
+        <s:sequence>
+          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
+
+        </s:sequence>
+      </s:complexType>
+      <s:element name="getWarnings">
+        <s:complexType />
+      </s:element>
+      <s:element name="getWarningsResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="getWarningsResult" type="tns:ArrayOfString" />
+
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="getFatals">
+        <s:complexType />
+      </s:element>
+      <s:element name="getFatalsResponse">
+        <s:complexType>
+          <s:sequence>
+
+            <s:element minOccurs="0" maxOccurs="1" name="getFatalsResult" type="tns:ArrayOfString" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="getInfo">
+        <s:complexType />
+      </s:element>
+      <s:element name="getInfoResponse">
+        <s:complexType>
+
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="getInfoResult" type="tns:ArrayOfString" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="numErrors">
+        <s:complexType />
+      </s:element>
+      <s:element name="numErrorsResponse">
+
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="1" maxOccurs="1" name="numErrorsResult" type="s:int" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="ArrayOfString" nillable="true" type="tns:ArrayOfString" />
+      <s:element name="int" type="s:int" />
+    </s:schema>
+
+  </wsdl:types>
+  <wsdl:message name="doAnalysisSoapIn">
+    <wsdl:part name="parameters" element="tns:doAnalysis" />
+  </wsdl:message>
+  <wsdl:message name="doAnalysisSoapOut">
+    <wsdl:part name="parameters" element="tns:doAnalysisResponse" />
+  </wsdl:message>
+  <wsdl:message name="loadSBMLSoapIn">
+    <wsdl:part name="parameters" element="tns:loadSBML" />
+
+  </wsdl:message>
+  <wsdl:message name="loadSBMLSoapOut">
+    <wsdl:part name="parameters" element="tns:loadSBMLResponse" />
+  </wsdl:message>
+  <wsdl:message name="getErrorsSoapIn">
+    <wsdl:part name="parameters" element="tns:getErrors" />
+  </wsdl:message>
+  <wsdl:message name="getErrorsSoapOut">
+    <wsdl:part name="parameters" element="tns:getErrorsResponse" />
+
+  </wsdl:message>
+  <wsdl:message name="getWarningsSoapIn">
+    <wsdl:part name="parameters" element="tns:getWarnings" />
+  </wsdl:message>
+  <wsdl:message name="getWarningsSoapOut">
+    <wsdl:part name="parameters" element="tns:getWarningsResponse" />
+  </wsdl:message>
+  <wsdl:message name="getFatalsSoapIn">
+    <wsdl:part name="parameters" element="tns:getFatals" />
+
+  </wsdl:message>
+  <wsdl:message name="getFatalsSoapOut">
+    <wsdl:part name="parameters" element="tns:getFatalsResponse" />
+  </wsdl:message>
+  <wsdl:message name="getInfoSoapIn">
+    <wsdl:part name="parameters" element="tns:getInfo" />
+  </wsdl:message>
+  <wsdl:message name="getInfoSoapOut">
+    <wsdl:part name="parameters" element="tns:getInfoResponse" />
+
+  </wsdl:message>
+  <wsdl:message name="numErrorsSoapIn">
+    <wsdl:part name="parameters" element="tns:numErrors" />
+  </wsdl:message>
+  <wsdl:message name="numErrorsSoapOut">
+    <wsdl:part name="parameters" element="tns:numErrorsResponse" />
+  </wsdl:message>
+  <wsdl:message name="doAnalysisHttpGetIn">
+    <wsdl:part name="var0" type="s:string" />
+
+  </wsdl:message>
+  <wsdl:message name="doAnalysisHttpGetOut" />
+  <wsdl:message name="loadSBMLHttpGetIn">
+    <wsdl:part name="var0" type="s:string" />
+  </wsdl:message>
+  <wsdl:message name="loadSBMLHttpGetOut" />
+  <wsdl:message name="getErrorsHttpGetIn" />
+  <wsdl:message name="getErrorsHttpGetOut">
+    <wsdl:part name="Body" element="tns:ArrayOfString" />
+
+  </wsdl:message>
+  <wsdl:message name="getWarningsHttpGetIn" />
+  <wsdl:message name="getWarningsHttpGetOut">
+    <wsdl:part name="Body" element="tns:ArrayOfString" />
+  </wsdl:message>
+  <wsdl:message name="getFatalsHttpGetIn" />
+  <wsdl:message name="getFatalsHttpGetOut">
+    <wsdl:part name="Body" element="tns:ArrayOfString" />
+  </wsdl:message>
+
+  <wsdl:message name="getInfoHttpGetIn" />
+  <wsdl:message name="getInfoHttpGetOut">
+    <wsdl:part name="Body" element="tns:ArrayOfString" />
+  </wsdl:message>
+  <wsdl:message name="numErrorsHttpGetIn" />
+  <wsdl:message name="numErrorsHttpGetOut">
+    <wsdl:part name="Body" element="tns:int" />
+  </wsdl:message>
+  <wsdl:message name="doAnalysisHttpPostIn">
+
+    <wsdl:part name="var0" type="s:string" />
+  </wsdl:message>
+  <wsdl:message name="doAnalysisHttpPostOut" />
+  <wsdl:message name="loadSBMLHttpPostIn">
+    <wsdl:part name="var0" type="s:string" />
+  </wsdl:message>
+  <wsdl:message name="loadSBMLHttpPostOut" />
+  <wsdl:message name="getErrorsHttpPostIn" />
+  <wsdl:message name="getErrorsHttpPostOut">
+
+    <wsdl:part name="Body" element="tns:ArrayOfString" />
+  </wsdl:message>
+  <wsdl:message name="getWarningsHttpPostIn" />
+  <wsdl:message name="getWarningsHttpPostOut">
+    <wsdl:part name="Body" element="tns:ArrayOfString" />
+  </wsdl:message>
+  <wsdl:message name="getFatalsHttpPostIn" />
+  <wsdl:message name="getFatalsHttpPostOut">
+    <wsdl:part name="Body" element="tns:ArrayOfString" />
+
+  </wsdl:message>
+  <wsdl:message name="getInfoHttpPostIn" />
+  <wsdl:message name="getInfoHttpPostOut">
+    <wsdl:part name="Body" element="tns:ArrayOfString" />
+  </wsdl:message>
+  <wsdl:message name="numErrorsHttpPostIn" />
+  <wsdl:message name="numErrorsHttpPostOut">
+    <wsdl:part name="Body" element="tns:int" />
+  </wsdl:message>
+
+  <wsdl:portType name="validateSoap">
+    <wsdl:operation name="doAnalysis">
+      <wsdl:input message="tns:doAnalysisSoapIn" />
+      <wsdl:output message="tns:doAnalysisSoapOut" />
+    </wsdl:operation>
+    <wsdl:operation name="loadSBML">
+      <wsdl:input message="tns:loadSBMLSoapIn" />
+      <wsdl:output message="tns:loadSBMLSoapOut" />
+    </wsdl:operation>
+
+    <wsdl:operation name="getErrors">
+      <wsdl:input message="tns:getErrorsSoapIn" />
+      <wsdl:output message="tns:getErrorsSoapOut" />
+    </wsdl:operation>
+    <wsdl:operation name="getWarnings">
+      <wsdl:input message="tns:getWarningsSoapIn" />
+      <wsdl:output message="tns:getWarningsSoapOut" />
+    </wsdl:operation>
+    <wsdl:operation name="getFatals">
+
+      <wsdl:input message="tns:getFatalsSoapIn" />
+      <wsdl:output message="tns:getFatalsSoapOut" />
+    </wsdl:operation>
+    <wsdl:operation name="getInfo">
+      <wsdl:input message="tns:getInfoSoapIn" />
+      <wsdl:output message="tns:getInfoSoapOut" />
+    </wsdl:operation>
+    <wsdl:operation name="numErrors">
+      <wsdl:input message="tns:numErrorsSoapIn" />
+
+      <wsdl:output message="tns:numErrorsSoapOut" />
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:portType name="validateHttpGet">
+    <wsdl:operation name="doAnalysis">
+      <wsdl:input message="tns:doAnalysisHttpGetIn" />
+      <wsdl:output message="tns:doAnalysisHttpGetOut" />
+    </wsdl:operation>
+    <wsdl:operation name="loadSBML">
+
+      <wsdl:input message="tns:loadSBMLHttpGetIn" />
+      <wsdl:output message="tns:loadSBMLHttpGetOut" />
+    </wsdl:operation>
+    <wsdl:operation name="getErrors">
+      <wsdl:input message="tns:getErrorsHttpGetIn" />
+      <wsdl:output message="tns:getErrorsHttpGetOut" />
+    </wsdl:operation>
+    <wsdl:operation name="getWarnings">
+      <wsdl:input message="tns:getWarningsHttpGetIn" />
+
+      <wsdl:output message="tns:getWarningsHttpGetOut" />
+    </wsdl:operation>
+    <wsdl:operation name="getFatals">
+      <wsdl:input message="tns:getFatalsHttpGetIn" />
+      <wsdl:output message="tns:getFatalsHttpGetOut" />
+    </wsdl:operation>
+    <wsdl:operation name="getInfo">
+      <wsdl:input message="tns:getInfoHttpGetIn" />
+      <wsdl:output message="tns:getInfoHttpGetOut" />
+
+    </wsdl:operation>
+    <wsdl:operation name="numErrors">
+      <wsdl:input message="tns:numErrorsHttpGetIn" />
+      <wsdl:output message="tns:numErrorsHttpGetOut" />
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:portType name="validateHttpPost">
+    <wsdl:operation name="doAnalysis">
+      <wsdl:input message="tns:doAnalysisHttpPostIn" />
+
+      <wsdl:output message="tns:doAnalysisHttpPostOut" />
+    </wsdl:operation>
+    <wsdl:operation name="loadSBML">
+      <wsdl:input message="tns:loadSBMLHttpPostIn" />
+      <wsdl:output message="tns:loadSBMLHttpPostOut" />
+    </wsdl:operation>
+    <wsdl:operation name="getErrors">
+      <wsdl:input message="tns:getErrorsHttpPostIn" />
+      <wsdl:output message="tns:getErrorsHttpPostOut" />
+
+    </wsdl:operation>
+    <wsdl:operation name="getWarnings">
+      <wsdl:input message="tns:getWarningsHttpPostIn" />
+      <wsdl:output message="tns:getWarningsHttpPostOut" />
+    </wsdl:operation>
+    <wsdl:operation name="getFatals">
+      <wsdl:input message="tns:getFatalsHttpPostIn" />
+      <wsdl:output message="tns:getFatalsHttpPostOut" />
+    </wsdl:operation>
+
+    <wsdl:operation name="getInfo">
+      <wsdl:input message="tns:getInfoHttpPostIn" />
+      <wsdl:output message="tns:getInfoHttpPostOut" />
+    </wsdl:operation>
+    <wsdl:operation name="numErrors">
+      <wsdl:input message="tns:numErrorsHttpPostIn" />
+      <wsdl:output message="tns:numErrorsHttpPostOut" />
+    </wsdl:operation>
+  </wsdl:portType>
+
+  <wsdl:binding name="validateSoap" type="tns:validateSoap">
+    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
+    <wsdl:operation name="doAnalysis">
+      <soap:operation soapAction="http://www.sys-bio.org/doAnalysis" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="loadSBML">
+      <soap:operation soapAction="http://www.sys-bio.org/loadSBML" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getErrors">
+      <soap:operation soapAction="http://www.sys-bio.org/getErrors" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getWarnings">
+      <soap:operation soapAction="http://www.sys-bio.org/getWarnings" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getFatals">
+      <soap:operation soapAction="http://www.sys-bio.org/getFatals" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getInfo">
+      <soap:operation soapAction="http://www.sys-bio.org/getInfo" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="numErrors">
+      <soap:operation soapAction="http://www.sys-bio.org/numErrors" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:binding name="validateSoap12" type="tns:validateSoap">
+    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
+    <wsdl:operation name="doAnalysis">
+      <soap12:operation soapAction="http://www.sys-bio.org/doAnalysis" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="loadSBML">
+      <soap12:operation soapAction="http://www.sys-bio.org/loadSBML" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getErrors">
+      <soap12:operation soapAction="http://www.sys-bio.org/getErrors" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getWarnings">
+      <soap12:operation soapAction="http://www.sys-bio.org/getWarnings" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getFatals">
+      <soap12:operation soapAction="http://www.sys-bio.org/getFatals" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getInfo">
+      <soap12:operation soapAction="http://www.sys-bio.org/getInfo" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="numErrors">
+      <soap12:operation soapAction="http://www.sys-bio.org/numErrors" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:binding name="validateHttpGet" type="tns:validateHttpGet">
+    <http:binding verb="GET" />
+    <wsdl:operation name="doAnalysis">
+
+      <http:operation location="/doAnalysis" />
+      <wsdl:input>
+        <http:urlEncoded />
+      </wsdl:input>
+      <wsdl:output />
+    </wsdl:operation>
+    <wsdl:operation name="loadSBML">
+      <http:operation location="/loadSBML" />
+      <wsdl:input>
+
+        <http:urlEncoded />
+      </wsdl:input>
+      <wsdl:output />
+    </wsdl:operation>
+    <wsdl:operation name="getErrors">
+      <http:operation location="/getErrors" />
+      <wsdl:input>
+        <http:urlEncoded />
+      </wsdl:input>
+
+      <wsdl:output>
+        <mime:mimeXml part="Body" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getWarnings">
+      <http:operation location="/getWarnings" />
+      <wsdl:input>
+        <http:urlEncoded />
+      </wsdl:input>
+
+      <wsdl:output>
+        <mime:mimeXml part="Body" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getFatals">
+      <http:operation location="/getFatals" />
+      <wsdl:input>
+        <http:urlEncoded />
+      </wsdl:input>
+
+      <wsdl:output>
+        <mime:mimeXml part="Body" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getInfo">
+      <http:operation location="/getInfo" />
+      <wsdl:input>
+        <http:urlEncoded />
+      </wsdl:input>
+
+      <wsdl:output>
+        <mime:mimeXml part="Body" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="numErrors">
+      <http:operation location="/numErrors" />
+      <wsdl:input>
+        <http:urlEncoded />
+      </wsdl:input>
+
+      <wsdl:output>
+        <mime:mimeXml part="Body" />
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:binding name="validateHttpPost" type="tns:validateHttpPost">
+    <http:binding verb="POST" />
+    <wsdl:operation name="doAnalysis">
+      <http:operation location="/doAnalysis" />
+
+      <wsdl:input>
+        <mime:content type="application/x-www-form-urlencoded" />
+      </wsdl:input>
+      <wsdl:output />
+    </wsdl:operation>
+    <wsdl:operation name="loadSBML">
+      <http:operation location="/loadSBML" />
+      <wsdl:input>
+        <mime:content type="application/x-www-form-urlencoded" />
+
+      </wsdl:input>
+      <wsdl:output />
+    </wsdl:operation>
+    <wsdl:operation name="getErrors">
+      <http:operation location="/getErrors" />
+      <wsdl:input>
+        <mime:content type="application/x-www-form-urlencoded" />
+      </wsdl:input>
+      <wsdl:output>
+
+        <mime:mimeXml part="Body" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getWarnings">
+      <http:operation location="/getWarnings" />
+      <wsdl:input>
+        <mime:content type="application/x-www-form-urlencoded" />
+      </wsdl:input>
+      <wsdl:output>
+
+        <mime:mimeXml part="Body" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getFatals">
+      <http:operation location="/getFatals" />
+      <wsdl:input>
+        <mime:content type="application/x-www-form-urlencoded" />
+      </wsdl:input>
+      <wsdl:output>
+
+        <mime:mimeXml part="Body" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getInfo">
+      <http:operation location="/getInfo" />
+      <wsdl:input>
+        <mime:content type="application/x-www-form-urlencoded" />
+      </wsdl:input>
+      <wsdl:output>
+
+        <mime:mimeXml part="Body" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="numErrors">
+      <http:operation location="/numErrors" />
+      <wsdl:input>
+        <mime:content type="application/x-www-form-urlencoded" />
+      </wsdl:input>
+      <wsdl:output>
+
+        <mime:mimeXml part="Body" />
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="validate">
+    <wsdl:port name="validateSoap" binding="tns:validateSoap">
+      <soap:address location="http://128.208.17.26/generate/SBWReader.asmx" />
+    </wsdl:port>
+    <wsdl:port name="validateSoap12" binding="tns:validateSoap12">
+
+      <soap12:address location="http://128.208.17.26/generate/SBWReader.asmx" />
+    </wsdl:port>
+    <wsdl:port name="validateHttpGet" binding="tns:validateHttpGet">
+      <http:address location="http://128.208.17.26/generate/SBWReader.asmx" />
+    </wsdl:port>
+    <wsdl:port name="validateHttpPost" binding="tns:validateHttpPost">
+      <http:address location="http://128.208.17.26/generate/SBWReader.asmx" />
+    </wsdl:port>
+  </wsdl:service>
+
+</wsdl:definitions>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/c8b66752/taverna-wsdl-generic/src/test/resources/testwsdls/TestServices-rpcencoded.wsdl
----------------------------------------------------------------------
diff --git a/taverna-wsdl-generic/src/test/resources/testwsdls/TestServices-rpcencoded.wsdl b/taverna-wsdl-generic/src/test/resources/testwsdls/TestServices-rpcencoded.wsdl
new file mode 100644
index 0000000..6352bcb
--- /dev/null
+++ b/taverna-wsdl-generic/src/test/resources/testwsdls/TestServices-rpcencoded.wsdl
@@ -0,0 +1,396 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions targetNamespace="http://testing.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://testing.org" xmlns:intf="http://testing.org" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+<!--WSDL created by Apache Axis version: 1.3
+Built on Oct 05, 2005 (05:23:37 EDT)-->
+ <wsdl:types>
+  <schema targetNamespace="http://testing.org" xmlns="http://www.w3.org/2001/XMLSchema">
+   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
+   <complexType name="ArrayOf_xsd_string">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
+
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="Address">
+    <sequence>
+     <element name="city" nillable="true" type="xsd:string"/>
+     <element name="number" type="xsd:int"/>
+     <element name="road" nillable="true" type="xsd:string"/>
+    </sequence>
+
+   </complexType>
+   <complexType name="Person">
+    <sequence>
+     <element name="address" nillable="true" type="impl:Address"/>
+     <element name="age" type="xsd:int"/>
+     <element name="name" nillable="true" type="xsd:string"/>
+    </sequence>
+   </complexType>
+   <complexType name="ArrayOfPerson">
+
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:Person[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+  </schema>
+ </wsdl:types>
+
+   <wsdl:message name="getStringRequest">
+
+   </wsdl:message>
+
+   <wsdl:message name="getPersonResponse">
+
+      <wsdl:part name="getPersonReturn" type="impl:Person"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getBinaryDataRequest">
+
+   </wsdl:message>
+
+   <wsdl:message name="getPersonRequest">
+
+   </wsdl:message>
+
+   <wsdl:message name="countStringArrayResponse">
+
+      <wsdl:part name="countStringArrayReturn" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getStringResponse">
+
+      <wsdl:part name="getStringReturn" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="countStringRequest">
+
+      <wsdl:part name="str" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="countStringResponse">
+
+      <wsdl:part name="countStringReturn" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="countStringArrayRequest">
+
+      <wsdl:part name="array" type="impl:ArrayOf_xsd_string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getBinaryDataResponse">
+
+      <wsdl:part name="getBinaryDataReturn" type="xsd:base64Binary"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="personArrayToStringResponse">
+
+      <wsdl:part name="personArrayToStringReturn" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getStringArrayResponse">
+
+      <wsdl:part name="getStringArrayReturn" type="impl:ArrayOf_xsd_string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="personArrayToStringRequest">
+
+      <wsdl:part name="array" type="impl:ArrayOfPerson"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="personToStringResponse">
+
+      <wsdl:part name="personToStringReturn" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="countBytesResponse">
+
+      <wsdl:part name="countBytesReturn" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getStringArrayRequest">
+
+   </wsdl:message>
+
+   <wsdl:message name="countBytesRequest">
+
+      <wsdl:part name="bytes" type="xsd:base64Binary"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="personToStringRequest">
+
+      <wsdl:part name="p" type="impl:Person"/>
+
+   </wsdl:message>
+
+   <wsdl:portType name="TestServices">
+
+      <wsdl:operation name="getStringArray">
+
+         <wsdl:input message="impl:getStringArrayRequest" name="getStringArrayRequest"/>
+
+         <wsdl:output message="impl:getStringArrayResponse" name="getStringArrayResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getString">
+
+         <wsdl:input message="impl:getStringRequest" name="getStringRequest"/>
+
+         <wsdl:output message="impl:getStringResponse" name="getStringResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getPerson">
+
+         <wsdl:input message="impl:getPersonRequest" name="getPersonRequest"/>
+
+         <wsdl:output message="impl:getPersonResponse" name="getPersonResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="personToString" parameterOrder="p">
+
+         <wsdl:input message="impl:personToStringRequest" name="personToStringRequest"/>
+
+         <wsdl:output message="impl:personToStringResponse" name="personToStringResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="countString" parameterOrder="str">
+
+         <wsdl:input message="impl:countStringRequest" name="countStringRequest"/>
+
+         <wsdl:output message="impl:countStringResponse" name="countStringResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="countStringArray" parameterOrder="array">
+
+         <wsdl:input message="impl:countStringArrayRequest" name="countStringArrayRequest"/>
+
+         <wsdl:output message="impl:countStringArrayResponse" name="countStringArrayResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="personArrayToString" parameterOrder="array">
+
+         <wsdl:input message="impl:personArrayToStringRequest" name="personArrayToStringRequest"/>
+
+         <wsdl:output message="impl:personArrayToStringResponse" name="personArrayToStringResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getBinaryData">
+
+         <wsdl:input message="impl:getBinaryDataRequest" name="getBinaryDataRequest"/>
+
+         <wsdl:output message="impl:getBinaryDataResponse" name="getBinaryDataResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="countBytes" parameterOrder="bytes">
+
+         <wsdl:input message="impl:countBytesRequest" name="countBytesRequest"/>
+
+         <wsdl:output message="impl:countBytesResponse" name="countBytesResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="TestServicesSoapBinding" type="impl:TestServices">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="getStringArray">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getStringArrayRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testing.org" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getStringArrayResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testing.org" use="encoded"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getString">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getStringRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testing.org" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getStringResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testing.org" use="encoded"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getPerson">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getPersonRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testing.org" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getPersonResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testing.org" use="encoded"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="personToString">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="personToStringRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testing.org" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="personToStringResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testing.org" use="encoded"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="countString">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="countStringRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testing.org" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="countStringResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testing.org" use="encoded"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="countStringArray">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="countStringArrayRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testing.org" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="countStringArrayResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testing.org" use="encoded"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="personArrayToString">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="personArrayToStringRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testing.org" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="personArrayToStringResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testing.org" use="encoded"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getBinaryData">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getBinaryDataRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testing.org" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getBinaryDataResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testing.org" use="encoded"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="countBytes">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="countBytesRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testing.org" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="countBytesResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testing.org" use="encoded"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="TestServicesService">
+
+      <wsdl:port binding="impl:TestServicesSoapBinding" name="TestServices">
+
+         <wsdlsoap:address location="http://localhost:8080/testservices/services/TestServices"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/c8b66752/taverna-wsdl-generic/src/test/resources/testwsdls/TestServices-unwrapped.wsdl
----------------------------------------------------------------------
diff --git a/taverna-wsdl-generic/src/test/resources/testwsdls/TestServices-unwrapped.wsdl b/taverna-wsdl-generic/src/test/resources/testwsdls/TestServices-unwrapped.wsdl
new file mode 100644
index 0000000..10dd09d
--- /dev/null
+++ b/taverna-wsdl-generic/src/test/resources/testwsdls/TestServices-unwrapped.wsdl
@@ -0,0 +1,434 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions targetNamespace="http://testing.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://testing.org" xmlns:intf="http://testing.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+<!--WSDL created by Apache Axis version: 1.3
+Built on Oct 05, 2005 (05:23:37 EDT)-->
+ <wsdl:types>
+  <schema elementFormDefault="qualified" targetNamespace="http://testing.org" xmlns="http://www.w3.org/2001/XMLSchema">
+   <element name="getStringArrayReturn">
+    <complexType>
+     <sequence>
+      <element maxOccurs="unbounded" minOccurs="0" name="item" type="xsd:string"/>
+     </sequence>
+
+    </complexType>
+   </element>
+   <element name="getStringReturn" type="xsd:string"/>
+   <complexType name="Address">
+    <sequence>
+     <element name="city" nillable="true" type="xsd:string"/>
+     <element name="number" type="xsd:int"/>
+     <element name="road" nillable="true" type="xsd:string"/>
+    </sequence>
+
+   </complexType>
+   <complexType name="Person">
+    <sequence>
+     <element name="address" nillable="true" type="impl:Address"/>
+     <element name="age" type="xsd:int"/>
+     <element name="name" nillable="true" type="xsd:string"/>
+    </sequence>
+   </complexType>
+   <element name="getPersonReturn" type="impl:Person"/>
+
+   <element name="p" type="impl:Person"/>
+   <element name="personToStringReturn" type="xsd:string"/>
+   <element name="str" type="xsd:string"/>
+   <element name="countStringReturn" type="xsd:int"/>
+   <element name="array">
+    <complexType>
+     <sequence>
+      <element maxOccurs="unbounded" minOccurs="0" name="item" type="xsd:string"/>
+     </sequence>
+
+    </complexType>
+   </element>
+   <element name="countStringArrayReturn" type="xsd:int"/>
+   <complexType name="ArrayOfPerson">
+    <sequence>
+     <element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:Person"/>
+    </sequence>
+   </complexType>
+   <element name="array1">
+
+    <complexType>
+     <sequence>
+      <element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:Person"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="personArrayToStringReturn" type="xsd:string"/>
+   <element name="getBinaryDataReturn">
+    <complexType>
+
+     <sequence>
+      <element maxOccurs="unbounded" minOccurs="0" name="item" type="xsd:byte"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="bytes">
+    <complexType>
+     <sequence>
+      <element maxOccurs="unbounded" minOccurs="0" name="item" type="xsd:byte"/>
+
+     </sequence>
+    </complexType>
+   </element>
+   <element name="countBytesReturn" type="xsd:int"/>
+  </schema>
+ </wsdl:types>
+
+   <wsdl:message name="getStringRequest">
+
+   </wsdl:message>
+
+   <wsdl:message name="getPersonResponse">
+
+      <wsdl:part element="impl:getPersonReturn" name="getPersonReturn"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getBinaryDataRequest">
+
+   </wsdl:message>
+
+   <wsdl:message name="getPersonRequest">
+
+   </wsdl:message>
+
+   <wsdl:message name="countStringArrayResponse">
+
+      <wsdl:part element="impl:countStringArrayReturn" name="countStringArrayReturn"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getStringResponse">
+
+      <wsdl:part element="impl:getStringReturn" name="getStringReturn"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="countStringRequest">
+
+      <wsdl:part element="impl:str" name="str"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="countStringResponse">
+
+      <wsdl:part element="impl:countStringReturn" name="countStringReturn"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="countStringArrayRequest">
+
+      <wsdl:part element="impl:array" name="array"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getBinaryDataResponse">
+
+      <wsdl:part element="impl:getBinaryDataReturn" name="getBinaryDataReturn"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="personArrayToStringResponse">
+
+      <wsdl:part element="impl:personArrayToStringReturn" name="personArrayToStringReturn"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getStringArrayResponse">
+
+      <wsdl:part element="impl:getStringArrayReturn" name="getStringArrayReturn"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="personArrayToStringRequest">
+
+      <wsdl:part element="impl:array1" name="array"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="personToStringResponse">
+
+      <wsdl:part element="impl:personToStringReturn" name="personToStringReturn"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="countBytesResponse">
+
+      <wsdl:part element="impl:countBytesReturn" name="countBytesReturn"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getStringArrayRequest">
+
+   </wsdl:message>
+
+   <wsdl:message name="countBytesRequest">
+
+      <wsdl:part element="impl:bytes" name="bytes"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="personToStringRequest">
+
+      <wsdl:part element="impl:p" name="p"/>
+
+   </wsdl:message>
+
+   <wsdl:portType name="TestServices">
+
+      <wsdl:operation name="getStringArray">
+
+         <wsdl:input message="impl:getStringArrayRequest" name="getStringArrayRequest"/>
+
+         <wsdl:output message="impl:getStringArrayResponse" name="getStringArrayResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getString">
+
+         <wsdl:input message="impl:getStringRequest" name="getStringRequest"/>
+
+         <wsdl:output message="impl:getStringResponse" name="getStringResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getPerson">
+
+         <wsdl:input message="impl:getPersonRequest" name="getPersonRequest"/>
+
+         <wsdl:output message="impl:getPersonResponse" name="getPersonResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="personToString" parameterOrder="p">
+
+         <wsdl:input message="impl:personToStringRequest" name="personToStringRequest"/>
+
+         <wsdl:output message="impl:personToStringResponse" name="personToStringResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="countString" parameterOrder="str">
+
+         <wsdl:input message="impl:countStringRequest" name="countStringRequest"/>
+
+         <wsdl:output message="impl:countStringResponse" name="countStringResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="countStringArray" parameterOrder="array">
+
+         <wsdl:input message="impl:countStringArrayRequest" name="countStringArrayRequest"/>
+
+         <wsdl:output message="impl:countStringArrayResponse" name="countStringArrayResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="personArrayToString" parameterOrder="array">
+
+         <wsdl:input message="impl:personArrayToStringRequest" name="personArrayToStringRequest"/>
+
+         <wsdl:output message="impl:personArrayToStringResponse" name="personArrayToStringResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getBinaryData">
+
+         <wsdl:input message="impl:getBinaryDataRequest" name="getBinaryDataRequest"/>
+
+         <wsdl:output message="impl:getBinaryDataResponse" name="getBinaryDataResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="countBytes" parameterOrder="bytes">
+
+         <wsdl:input message="impl:countBytesRequest" name="countBytesRequest"/>
+
+         <wsdl:output message="impl:countBytesResponse" name="countBytesResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="TestServicesSoapBinding" type="impl:TestServices">
+
+      <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="getStringArray">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getStringArrayRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getStringArrayResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getString">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getStringRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getStringResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getPerson">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getPersonRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getPersonResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="personToString">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="personToStringRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="personToStringResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="countString">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="countStringRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="countStringResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="countStringArray">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="countStringArrayRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="countStringArrayResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="personArrayToString">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="personArrayToStringRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="personArrayToStringResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getBinaryData">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getBinaryDataRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getBinaryDataResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="countBytes">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="countBytesRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="countBytesResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="TestServicesService">
+
+      <wsdl:port binding="impl:TestServicesSoapBinding" name="TestServices">
+
+         <wsdlsoap:address location="http://localhost:8080/testservices/services/TestServices"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/c8b66752/taverna-wsdl-generic/src/test/resources/testwsdls/VSOi.wsdl
----------------------------------------------------------------------
diff --git a/taverna-wsdl-generic/src/test/resources/testwsdls/VSOi.wsdl b/taverna-wsdl-generic/src/test/resources/testwsdls/VSOi.wsdl
new file mode 100644
index 0000000..5070310
--- /dev/null
+++ b/taverna-wsdl-generic/src/test/resources/testwsdls/VSOi.wsdl
@@ -0,0 +1,305 @@
+<?xml version="1.0"?>
+<!-- VSO Data Types -->
+<!-- 2005/03/21 : updated for java's 'wscompile'; added 'Extra' fields access. -->
+<!-- 2005/06/03 : pointing at production instance -->
+
+<definitions name="VSO"
+	xmlns="http://schemas.xmlsoap.org/wsdl/"
+	xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+	xmlns:vso="http://virtualsolar.org/VSO/VSOi"
+	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+	targetNamespace="http://virtualsolar.org/VSO/VSOi">
+	<types>
+		<schema xmlns="http://www.w3.org/2001/XMLSchema"
+  	                targetNamespace="http://virtualsolar.org/VSO/VSOi">
+		
+			<complexType name="StringArray">
+				<complexContent>
+					<restriction base="soapenc:Array">
+						<attribute ref="soapenc:arrayType" wsdl:arrayType="string[]" />
+					</restriction>
+				</complexContent>
+			</complexType>
+
+			<complexType name="Time">
+				<all>
+					<element name="start" type="string" />
+					<element name="end"   type="string" />
+				</all>
+			</complexType>
+			<complexType name="Wave">
+				<all>
+					<element name="wavemin" type="float" />
+					<element name="wavemax" type="float" />
+					<element name="waveunit" type="string" />
+					<element name="wavetype" type="string" minOccurs="0" />
+				</all>
+			</complexType>
+			<complexType name="Extent">
+				<all>
+					<element name="x"    type="string" minOccurs="0" />
+					<element name="y"    type="string" minOccurs="0" />
+					<element name="width" type="string" minOccurs="0" />
+					<element name="length" type="string" minOccurs="0" />
+					<element name="type"  type="string" minOccurs="0" />
+				</all>
+			</complexType>
+			<complexType name="Thumbnail">
+				<all>
+					<element name="hires" type="string" minOccurs="0" />
+					<element name="lowres" type="string" minOccurs="0" />
+				</all>
+			</complexType>
+			<complexType name="Extra">
+				<all>
+					<element name="thumbnail" type="vso:Thumbnail" minOccurs="0" />
+				</all>
+			</complexType>
+    
+
+			<!-- for "Query" function -->
+			
+			<complexType name="QueryRequestBlock">
+				<all>
+					<element name="provider" type="string" minOccurs="0" />
+					<element name="source" type="string" minOccurs="0" />
+					<element name="instrument" type="string" minOccurs="0" />
+					<element name="physobs" type="string" minOccurs="0" />
+					<element name="time" type="vso:Time" minOccurs="1" />
+					<element name="wave" type="vso:Wave" minOccurs="0" />
+					<element name="extent" type="vso:Extent" minOccurs="0" />
+					<element name="field" type="vso:StringArray" minOccurs="0" />
+				</all>
+			</complexType>
+			<complexType name="QueryRequest">
+				<all>
+					<element name="version" type="float" minOccurs="0" />
+					<element name="block" type="vso:QueryRequestBlock" />
+				</all>
+			</complexType>
+			<complexType name="QueryResponseBlock">
+				<all>
+					<element name="provider" type="string" />
+					<element name="source" type="string" minOccurs="0" />
+					<element name="instrument" type="string" minOccurs="0" />
+					<element name="physobs" type="string" minOccurs="0" />
+					<element name="time" type="vso:Time" />
+					<element name="wave" type="vso:Wave" minOccurs="0" />
+					<element name="extent" type="vso:Extent" minOccurs="0" />
+					<element name="fileid" type="string" minOccurs="0" />
+					<element name="size" type="float" minOccurs="0" /> 
+					<element name="extra" type="vso:Extra" minOccurs="0"/>
+					<element name="info" type="string" minOccurs="0" />
+				</all>
+			</complexType>
+			
+			<complexType name="QueryResponseBlockArray">
+				<complexContent>
+<!--					<sequence>
+						<element name="record" type="vso:QueryResponseBlock" minOccurs="0" />
+					</sequence> --> 
+					<restriction base="soapenc:Array">
+						<attribute ref="soapenc:arrayType" wsdl:arrayType="vso:QueryResponseBlock[]" />
+					</restriction>
+				</complexContent>
+			</complexType>
+			
+			
+			<!-- provider response block (a bit late to rename it now) -->
+			<complexType name="ProviderQueryResponse">
+				<all>
+					<element name="version" type="float" />
+					<element name="provider" type="string" minOccurs="0" />
+					<element name="no_of_records_found" type="int" minOccurs="0" />
+					<element name="no_of_records_returned" type="int" minOccurs="0" />
+					<element name="record" type="vso:QueryResponseBlockArray" minOccurs="0" />
+					<element name="error" type="string" minOccurs="0" />
+					<element name="debug" type="string" minOccurs="0" />
+					<element name="status" type="string" minOccurs="0" />
+				</all>
+			</complexType>
+                        <complexType name="VSOQueryResponse">
+				<complexContent>
+<!--					<sequence>
+						<element name="vsoqueryresponse" type="vso:ProviderQueryResponse" minOccurs="0" />
+					</sequence> -->
+                                        <restriction base="soapenc:Array">
+                                                <attribute ref="soapenc:arrayType" wsdl:arrayType="vso:ProviderQueryResponse[]"/>
+					</restriction>
+				</complexContent>
+			</complexType>
+
+			
+			<!-- for "GetData" function -->
+			<complexType name="Info">
+			        <all>
+				        <element name="email" type="string" />
+					<element name="host"  type="string" minOccurs="0" />
+   			                <element name="user"  type="string" minOccurs="0" />
+					<element name="directory" type="string" minOccurs="0" />  
+					<element name="password"  type="string" minOcurrs="0" />
+					<element name="address"   type="string" minOccurs="0" />
+					<element name="required" type="string" minOccurs="0" />
+			        </all>
+			</complexType>
+
+			<complexType name="DataRequest">
+				<all>
+					<element name="provider" type="string" />
+					<element name="fileid" type="vso:StringArray" />
+				</all>
+			</complexType>
+
+			<complexType name="DataRequestArray">
+				<complexContent>
+<!--
+					<sequence>
+						<element name="datarequestarray" type="vso:DataRequest" minOccurs='0' />
+					</sequence>
+-->
+					<restriction base="soapenc:Array">
+						<attribute ref="soapenc:arrayType" wsdl:arrayType="vso:DataRequest[]" />
+					</restriction>
+				</complexContent>
+			</complexType>
+			
+			<complexType name="GetDataRequest">
+				<all>
+					<element name="method" type="vso:StringArray" />
+					<element name="info" type="vso:Info" minOccurs="0" />
+					<element name="data" type="vso:DataRequestArray" minOccurs="0"/>
+				</all>
+			</complexType>
+			
+			<complexType name="VSOGetDataRequest">
+				<all>
+					<element name="version" type="float" minOccurs="0" />
+					<element name="request" type="vso:GetDataRequest" />
+				</all>
+			</complexType>
+			
+			
+			<complexType name="Data">
+				<all>
+					<element name="fileid" type="vso:StringArray" minOccurs="0" />
+					<element name="url" type="string" minOccurs="0" />
+					<element name="provider" type="string" minOccurs="0" />
+					<element name="status" type="string" minOccurs="0"  />
+					<element name="details" type="string" minOccurs="0" />
+					<element name="content" type="string" minOccurs="0" />
+				</all>
+			</complexType>
+
+			<complexType name="DataArray">
+				<complexContent>
+<!--
+					<sequence>
+						<element name="dataarray" type="vso:Data" minOccurs='0' />
+					</sequence>
+-->
+					<restriction base="soapenc:Array">
+						<attribute ref="soapenc:arrayType" wsdl:arrayType="vso:Data[]" />
+					</restriction>
+				</complexContent>
+			</complexType>
+
+
+			<complexType name="ProviderGetDataResponse">
+				<all>
+					<element name="version" type="float" />
+					<element name="info" type="vso:StringArray" minOccurs="0" />
+					<element name="provider" type="string" minOccurs="0" />
+					<element name="data" type="vso:DataArray" minOccurs="0" />
+					<element name="status" type="string" minOccurs="0" />
+					<element name="debug" type="string" minOccurs="0" />
+					<element name="method" type="vso:StringArray" minOccurs="0" />
+				</all>
+			</complexType>
+
+			<complexType name="VSOGetDataResponse">
+				<complexContent>
+<!--
+					<sequence>
+						<element name="vsogetdataresponse" type="vso:ProviderGetDataResponse" minOccurs='0' />
+					</sequence>
+-->
+					<restriction base="soapenc:Array">
+						<attribute ref="soapenc:arrayType" wsdl:arrayType="vso:ProviderGetDataResponse[]" />
+					</restriction>
+				</complexContent>
+			</complexType>
+		</schema>
+	</types>
+
+	<message name="QueryInput">
+		<part name="body" type="vso:QueryRequest" />
+	</message>
+	<message name="QueryOutput">
+		<part name="body" type="vso:VSOQueryResponse" />
+	</message>
+	
+	<message name="GetDataInput">
+		<part name="body" type="vso:VSOGetDataRequest" />
+	</message>
+	<message name="GetDataOutput">
+		<part name="body" type="vso:VSOGetDataResponse" />
+	</message>
+	
+	<portType name="VSOiPort">
+		<operation name="Query">
+			<input message="vso:QueryInput" />
+			<output message="vso:QueryOutput" />
+		</operation>
+		<operation name="GetData">
+			<input message="vso:GetDataInput" />
+			<output message="vso:GetDataOutput" />
+		</operation>
+	</portType>
+	
+	<binding name="VSOiBinding" type="vso:VSOiPort">
+		<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
+		<operation name="Query">
+			<soap:operation soapAction="http://virtualsolar.org/VSO/VSOi#Query" />
+			<input>
+				<soap:body
+					use="encoded"
+					namespace="http://virtualsolar.org/VSO/VSOi"
+					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+				/>
+			</input>
+			<output>
+				<soap:body
+					use="encoded"
+					namespace="http://virtualsolar.org/VSO/VSOi"
+					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+				/>
+			</output>
+		</operation>
+		
+		<operation name="GetData">
+			<soap:operation soapAction="http://virtualsolar.org/VSO/VSOi#GetData" />
+			<input>
+				<soap:body
+					use="encoded"
+					namespace="http://virtualsolar.org/VSO/VSOi"
+					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+				/>
+			</input>
+			<output>
+				<soap:body
+					use="encoded"
+					namespace="http://virtualsolar.org/VSO/VSOi"
+					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+				/>
+			</output>
+		</operation>
+	</binding>
+	
+	<service name="VSOiService">
+		<port name="sdacVSOi" binding="vso:VSOiBinding">
+			<soap:address location="http://vso.nascom.nasa.gov/cgi/VSOi_strict" />
+		</port>
+	</service>
+</definitions>
+