You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mirae-dev@ws.apache.org by da...@apache.org on 2005/02/03 13:41:13 UTC

svn commit: r151149 [13/19] - in webservices/mirae/trunk: ./ bin/ bin/linux/ bin/windows/ build/ docs/ docs/images/ docs/images/CVS/ docs/javadoc/ genstub/ genstub/example8/ genstub/lk/ genstub/lk/opensource/ genstub/lk/opensource/wsmobile/ genstub/org/ genstub/org/apache/ genstub/org/apache/mirae/ genstub/org/apache/mirae/builtin/ genstub/org/apache/mirae/builtin/simpletypes/ genstub/uk/ genstub/uk/co/ genstub/uk/co/dsdata/ genstub/uk/co/dsdata/ws/ genstub/uk/co/dsdata/ws/travel/ genstub/uk/co/dsdata/ws/travel/sbg/ genstub/uk/co/dsdata/ws/travel/sbg/SBGAirFareQuotes/ genstub/ws_mobile_point/ lib/ logs/ samples/ samples/documentsamples/ samples/documentsamples/calculator/ samples/documentsamples/calculator/calculator/ samples/documentsamples/calculator/calculator/axis/ samples/documentsamples/calculator/calculator/axis/localhost/ samples/documentsamples/calculator/org/ samples/documentsamples/calculator/org/apache/ samples/documentsamples/calculator/org/apache/mirae/ samples/documentsamples/calculator/org/apache/mirae/builtin/ samples/documentsamples/calculator/org/apache/mirae/builtin/simpletypes/ samples/documentsamples/echo/ samples/documentsamples/echo/org/ samples/documentsamples/echo/org/apache/ samples/documentsamples/echo/org/apache/mirae/ samples/documentsamples/echo/org/apache/mirae/builtin/ samples/documentsamples/echo/org/apache/mirae/builtin/simpletypes/ samples/documentsamples/echo/org/soapinterop/ samples/documentsamples/employee/ samples/documentsamples/employee/jSR172UseCases/ samples/documentsamples/employee/jSR172UseCases/com/ samples/documentsamples/employee/jSR172UseCases/com/sun/ samples/documentsamples/employee/jSR172UseCases/com/sun/www/ samples/documentsamples/employee/org/ samples/documentsamples/employee/org/apache/ samples/documentsamples/employee/org/apache/mirae/ samples/documentsamples/employee/org/apache/mirae/builtin/ samples/documentsamples/employee/org/apache/mirae/builtin/simpletypes/ samples/documentsamples/employee/xsd/ samples/documentsamples/employee/xsd/JSR172AppendixA/ samples/documentsamples/employee/xsd/JSR172AppendixA/com/ samples/documentsamples/employee/xsd/JSR172AppendixA/com/sun/ samples/documentsamples/employee/xsd/JSR172AppendixA/com/sun/www/ samples/rpcsamples/ samples/rpcsamples/airfarequote/ samples/rpcsamples/airfarequote/org/ samples/rpcsamples/airfarequote/org/apache/ samples/rpcsamples/airfarequote/org/apache/mirae/ samples/rpcsamples/airfarequote/org/apache/mirae/builtin/ samples/rpcsamples/airfarequote/org/apache/mirae/builtin/simpletypes/ samples/rpcsamples/airfarequote/uk/ samples/rpcsamples/airfarequote/uk/co/ samples/rpcsamples/airfarequote/uk/co/dsdata/ samples/rpcsamples/airfarequote/uk/co/dsdata/ws/ samples/rpcsamples/airfarequote/uk/co/dsdata/ws/travel/ samples/rpcsamples/airfarequote/uk/co/dsdata/ws/travel/sbg/ samples/rpcsamples/airfarequote/uk/co/dsdata/ws/travel/sbg/SBGAirFareQuotes/ samples/rpcsamples/calculator/ samples/rpcsamples/calculator/lk/ samples/rpcsamples/calculator/lk/opensource/ samples/rpcsamples/calculator/lk/opensource/wsmobile/ samples/rpcsamples/calculator/org/ samples/rpcsamples/calculator/org/apache/ samples/rpcsamples/calculator/org/apache/mirae/ samples/rpcsamples/calculator/org/apache/mirae/builtin/ samples/rpcsamples/calculator/org/apache/mirae/builtin/simpletypes/ samples/rpcsamples/distance/ samples/rpcsamples/distance/org/ samples/rpcsamples/distance/org/apache/ samples/rpcsamples/distance/org/apache/mirae/ samples/rpcsamples/distance/org/apache/mirae/builtin/ samples/rpcsamples/distance/org/apache/mirae/builtin/simpletypes/ samples/rpcsamples/distance/wsdl/ samples/rpcsamples/distance/wsdl/DistanceService/ samples/rpcsamples/distance/wsdl/DistanceService/sd/ samples/rpcsamples/distance/wsdl/DistanceService/sd/net/ samples/rpcsamples/distance/wsdl/DistanceService/sd/net/xmethods/ samples/rpcsamples/distance/wsdl/DistanceService/sd/net/xmethods/www/ samples/rpcsamples/point/ samples/rpcsamples/point/org/ samples/rpcsamples/point/org/apache/ samples/rpcsamples/point/org/apache/mirae/ samples/rpcsamples/point/org/apache/mirae/builtin/ samples/rpcsamples/point/org/apache/mirae/builtin/simpletypes/ samples/rpcsamples/point/ws_mobile_point/ samples/rpcsamples/student/ samples/rpcsamples/student/example8/ samples/rpcsamples/student/org/ samples/rpcsamples/student/org/apache/ samples/rpcsamples/student/org/apache/mirae/ samples/rpcsamples/student/org/apache/mirae/builtin/ samples/rpcsamples/student/org/apache/mirae/builtin/simpletypes/ src/ src/mirae/ src/mirae/jaxp/ src/mirae/jaxp/javax/ src/mirae/jaxp/javax/xml/ src/mirae/jaxp/javax/xml/parsers/ src/mirae/jaxp/org/ src/mirae/jaxp/org/apache/ src/mirae/jaxp/org/apache/mirae/ src/mirae/jaxp/org/apache/mirae/j2me/ src/mirae/jaxp/org/apache/mirae/j2me/xml/ src/mirae/jaxp/org/apache/mirae/j2me/xml/sax/ src/mirae/jaxp/org/xml/ src/mirae/jaxp/org/xml/sax/ src/mirae/jaxp/org/xml/sax/helpers/ src/mirae/jaxrpc/ src/mirae/jaxrpc/javax/ src/mirae/jaxrpc/javax/xml/ src/mirae/jaxrpc/javax/xml/namespace/ src/mirae/jaxrpc/javax/xml/rpc/ src/mirae/jaxrpc/org/ src/mirae/jaxrpc/org/apache/ src/mirae/jaxrpc/org/apache/mirae/ src/mirae/jaxrpc/org/apache/mirae/util/ src/mirae/jaxrpc/org/apache/mirae/xml/ src/mirae/jaxrpc/org/apache/mirae/xml/rpc/ src/tools/ src/tools/simpletypes/ src/tools/wsdl2ws_j2me/ src/tools/wsdl2ws_j2me/org/ src/tools/wsdl2ws_j2me/org/apache/ src/tools/wsdl2ws_j2me/org/apache/axis/ src/tools/wsdl2ws_j2me/org/apache/axis/wsdl/ src/tools/wsdl2ws_j2me/org/apache/axis/wsdl/symbolTable/ src/tools/wsdl2ws_j2me/org/apache/mirae/ src/tools/wsdl2ws_j2me/org/apache/mirae/wsdl2ws/ src/tools/wsdl2ws_j2me/org/apache/mirae/wsdl2ws/doclit/ src/tools/wsdl2ws_j2me/org/apache/mirae/wsdl2ws/info/ src/tools/wsdl2ws_j2me/org/apache/mirae/wsdl2ws/j2me/ src/tools/wsdl2ws_j2me/org/apache/mirae/wsdl2ws/j2me/client/ src/tools/wsdl2ws_j2me/org/apache/mirae/wsdl2ws/rpc/ tests/ tests/functional/ tests/functional/client/ tests/functional/client/SBGGetAirFareQuote-client1/ tests/functional/client/SBGGetAirFareQuote-client2/ tests/functional/client/calculator/ tests/functional/client/point/ tests/functional/client/wst/ tests/functional/wsdl/ tests/unit/ tests/unit/inmessage/ tests/unit/mirae/ tests/unit/outmessage/ tests/unit/wsdl2ws/ wsdl/ wsdltests/ wsdltests/calculator/ wsdltests/calculator/client/ wsdltests/calculator/server/ wsdltests/exceptiontest/ wsdltests/exceptiontest/client/ wsdltests/exceptiontest/server/ wsdltests/interoptestround1/ wsdltests/interoptestround1/client/ wsdltests/interoptestround1/server/

Added: webservices/mirae/trunk/tests/functional/wsdl/ComprehensiveTypes.wsdl
URL: http://svn.apache.org/viewcvs/webservices/mirae/trunk/tests/functional/wsdl/ComprehensiveTypes.wsdl?view=auto&rev=151149
==============================================================================
--- webservices/mirae/trunk/tests/functional/wsdl/ComprehensiveTypes.wsdl (added)
+++ webservices/mirae/trunk/tests/functional/wsdl/ComprehensiveTypes.wsdl Thu Feb  3 04:39:48 2005
@@ -0,0 +1,2648 @@
+<?xml version="1.0" ?>
+
+<definitions 
+    name="comprehensive types test"
+    targetNamespace="urn:comprehensive-service.types.wsdl.test"
+    xmlns:tns="urn:comprehensive-service.types.wsdl.test"
+    xmlns:typens="urn:comprehensive-types.types.wsdl.test"
+    xmlns:typens2="urn:comprehensive-types2.types.wsdl.test"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+    xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+  <!-- type defs -->
+  <types>
+    <xsd:schema 
+        targetNamespace="urn:comprehensive-types.types.wsdl.test"
+        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+        xmlns:xsd2="http://www.w3.org/2001/XMLSchema">
+
+      <xsd:simpleType name="simple">
+        <xsd:restriction base="xsd:string" />
+      </xsd:simpleType>
+      
+      <xsd:simpleType name="simpleDate">
+        <xsd:restriction base="xsd:date" />
+      </xsd:simpleType>
+
+      <xsd:simpleType name="simpleDateTime">
+        <xsd:restriction base="xsd2:dateTime" />
+      </xsd:simpleType>
+      
+      <xsd:simpleType name="enum">
+        <xsd:restriction base="xsd:string">
+          <xsd:enumeration value="one"/>                      
+          <xsd:enumeration value="two"/>                    
+          <xsd:enumeration value="three"/>                    
+        </xsd:restriction>
+      </xsd:simpleType>
+
+      <xsd:complexType name="array">
+        <xsd:complexContent>
+          <xsd:restriction base="soapenc:Array">
+            <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
+          </xsd:restriction>
+        </xsd:complexContent>
+      </xsd:complexType>
+
+      <xsd:complexType name="array_of_base64">
+        <xsd:complexContent>
+          <xsd:restriction base="soapenc:Array">
+            <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:base64Binary[]"/>
+          </xsd:restriction>
+        </xsd:complexContent>
+      </xsd:complexType>
+
+      <xsd:complexType name="complexAll">
+        <xsd:all>
+          <xsd:element name="areaCode" type="xsd:int"/>
+          <xsd:element name="exchange" type="xsd:string"/>
+          <xsd:element name="number" type="xsd:string"/>
+        </xsd:all>
+      </xsd:complexType>
+
+      <xsd:complexType name="complexSequence">
+        <xsd:sequence>
+          <xsd:element name="areaCode" type="xsd:int"/>
+          <xsd:element name="exchange" type="xsd:string"/>
+          <xsd:element name="number" type="xsd:string"/>
+        </xsd:sequence>
+      </xsd:complexType>
+
+      <xsd:complexType name="complexChoice">
+        <xsd:choice>
+          <xsd:element name="choiceA" type="xsd:int"/>
+          <xsd:element name="choiceB" type="xsd:string"/>
+          <xsd:element name="choiceC" type="xsd:string"/>
+        </xsd:choice>
+      </xsd:complexType>
+
+      <!-- Test proper construction of types with names that match common java.lang classes -->
+      <xsd:complexType name="Object">
+        <xsd:sequence>
+           <xsd:element name="test" type="xsd:string" />
+        </xsd:sequence>
+      </xsd:complexType>
+      <xsd:complexType name="String">
+        <xsd:sequence>
+           <xsd:element name="test" type="xsd:string" />
+        </xsd:sequence>
+      </xsd:complexType>
+      <xsd:complexType name="Class">
+        <xsd:sequence>
+           <xsd:element name="test" type="xsd:string" />
+        </xsd:sequence>
+      </xsd:complexType>
+
+      <xsd:element name="elemWComplex">
+        <xsd:complexType>
+          <xsd:all>
+            <xsd:element name="one" type="typens:simple"/> <!-- Ref to a simple type -->
+            <xsd:element name="dateone" type="typens:simpleDate"/>
+            <xsd:element name="datetwo" type="typens:simpleDateTime"/>
+            <xsd:element name="two" type="typens2:fwd"/> <!-- Forward type use to dif namespace -->
+            <xsd:element ref="typens2:three"/>           <!-- Forward ref use to a dif namespace -->
+            <xsd:element ref="typens:enumValue" maxOccurs="unbounded" /> <!-- ref & maxOccurs -->
+            <xsd:element name="enum1" type="typens:enumString"/>
+            <xsd:element name="enum2" type="typens:enumInt"/>
+            <xsd:element name="enum3" type="typens:enumLong"/>
+            <xsd:element name="enum4" type="typens:enumFloat"/>
+            <xsd:element name="enum5" type="typens:enumDouble"/>
+            <xsd:element name="enum6" type="typens:enumShort"/>
+            <xsd:element name="enum7" type="typens:enumByte"/>
+            <xsd:element name="enum8" type="typens:enumInteger"/>
+            <xsd:element name="enum9" type="typens:enumNMTOKEN"/>
+            <xsd:element name="soapint" type="soapenc:int"/>
+            <xsd:element name="nested" type="typens2:b"/>
+            <xsd:element name="D_TSENT" type="xsd:string"/> <!-- test strange name -->
+            <xsd:element name="optArray" minOccurs="0" maxOccurs="1" type="typens:array" />
+            <xsd:element name="byteArray" type="typens:array_of_base64" />
+            <xsd:element name="parm" type="typens:StringParameter" />
+
+            <!-- Test for types that are similarly named to common java lang classes -->
+            <xsd:element name="myObject" type="typens:Object" />
+            <xsd:element name="myString" type="typens:String" />
+            <xsd:element name="myClass" type="typens:Class" />
+
+            <!-- Test anonymous type with an element that has maxOccurs -->
+            <xsd:element name="logEntry" minOccurs="0" maxOccurs="unbounded">
+              <xsd:complexType>
+                <xsd:sequence>
+                   <xsd:element name="name" type="xsd:string"/>
+                   <xsd:element name="value" type="xsd:string"/>
+                </xsd:sequence>
+              </xsd:complexType>
+            </xsd:element>
+          </xsd:all>
+          <xsd:attribute name="attr" type="typens:enum" />
+          <xsd:attribute name="parmAttr" type="typens:StringParameter" />
+          <xsd:attribute name="enumAttr">
+            <xsd:simpleType>
+              <xsd:restriction base="xsd:string">
+                <xsd:enumeration value="one"/>                      
+                <xsd:enumeration value="two"/>                    
+                <xsd:enumeration value="three"/>                    
+              </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:attribute>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element name="enumValue" type="typens:enum"/>
+
+      <xsd:complexType name="time">
+        <xsd:simpleContent>
+          <xsd:extension base="xsd:string">
+            <xsd:attribute name="DST" type="xsd:boolean" />
+          </xsd:extension>
+        </xsd:simpleContent>
+      </xsd:complexType>
+
+      <xsd:complexType name="complexWComplex">
+        <xsd:sequence>
+          <xsd:element name="stock_quote">
+            <xsd:complexType>
+              <xsd:attribute name="symbol" type="xsd:string"/> 
+              <xsd:sequence>
+                <!-- forward simple type ref -->
+                <xsd:element name="time" type="typens:time"/>
+                <xsd:element name="change" type="typens:simpleFwd"/>  
+                <xsd:element name="pctchange" type="xsd:string"/>
+                <xsd:element name="bid" type="xsd:string"/>
+                <xsd:element name="ask" type="xsd:string"/>
+                <xsd:element name="choice" type="typens:complexChoice"/>
+              </xsd:sequence>
+              <xsd:attribute name="last" type="xsd:string"/>
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="outside" type="xsd:int"/>
+        </xsd:sequence>
+      </xsd:complexType>
+
+      <xsd:complexType name="emptyFault">
+        <xsd:sequence />
+      </xsd:complexType>
+
+      <xsd:element name="faultElement" type="typens:faultType" />
+      <xsd:complexType name="faultType">
+        <xsd:sequence>
+           <xsd:element name="userData" type="xsd:string" />
+        </xsd:sequence>
+      </xsd:complexType>
+
+      <xsd:complexType name="emptyComplexType">
+        <xsd:sequence />
+      </xsd:complexType>
+
+      <xsd:simpleType name="simpleFwd">
+        <xsd:restriction base="typens:simple" />
+      </xsd:simpleType>
+
+      <!-- The following definitions validate forward refs -->
+      <xsd:complexType name="arrayM">
+        <xsd:complexContent>
+          <xsd:restriction base="soapenc:Array">
+            <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:arrayM2[]"/>
+          </xsd:restriction>
+        </xsd:complexContent>
+      </xsd:complexType>
+      <xsd:complexType name="arrayM2">
+        <xsd:complexContent>
+          <xsd:restriction base="soapenc:Array">
+            <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:arrayM3[]"/>
+          </xsd:restriction>
+        </xsd:complexContent>
+      </xsd:complexType>
+      <xsd:complexType name="arrayM3">
+        <xsd:complexContent>
+          <xsd:restriction base="soapenc:Array">
+            <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:int[]"/>
+          </xsd:restriction>
+        </xsd:complexContent>
+      </xsd:complexType>
+
+
+      <!-- The following is a simple test of inheritance with types -->
+      <xsd:complexType name="Animal">
+        <xsd:all>
+          <xsd:element name="Name" nillable="true" type="xsd:string"/>
+        </xsd:all>
+      </xsd:complexType>
+      <xsd:element name="Animal" nillable="true" type="typens:Animal"/>
+      <xsd:complexType name="Cat">
+        <xsd:complexContent>
+          <xsd:extension base="typens:Animal">
+            <xsd:all>
+              <xsd:element name="Purr" nillable="true" type="xsd:string"/>
+            </xsd:all>
+          </xsd:extension>
+        </xsd:complexContent>
+      </xsd:complexType>
+      <xsd:element name="Cat" nillable="true" type="typens:Cat"/>
+
+      <!-- Even though PersionCat is not directly referenced, it should
+      be generated and registered because its base class (Cat) is referenced -->
+      <xsd:complexType name="PersionCat">
+        <xsd:complexContent>
+          <xsd:extension base="typens:Cat">
+            <xsd:all>
+              <xsd:element name="Color" type="xsd:string"/>
+              <xsd:element name="Toy" /> <!-- Defaults to xsd:anyType -->
+            </xsd:all>
+          </xsd:extension>
+        </xsd:complexContent>
+      </xsd:complexType>
+
+      <!-- Even though Yarn is not directly referenced, it should
+      be generated and registered because the Toy above is an anyType -->
+      <xsd:complexType name="Yarn">
+         <xsd:all>
+           <xsd:element name="Color" type="xsd:string"/>
+         </xsd:all>
+      </xsd:complexType>
+
+      <!-- The following test all of the valid enum basic types -->
+      <xsd:simpleType name="enumString">
+        <xsd:restriction base="xsd:string">
+          <xsd:enumeration value="Ho Ho Ho"/> <!-- Blanks should force value<1..n> names -->        
+          <xsd:enumeration value="He He He"/>                    
+          <xsd:enumeration value="Ha Ha Ha"/>                    
+        </xsd:restriction>
+      </xsd:simpleType>
+      <xsd:simpleType name="enumInt">
+        <xsd:restriction base="xsd:int">
+          <xsd:enumeration value="1"/>
+          <xsd:enumeration value="2"/>                    
+          <xsd:enumeration value="3"/>                    
+        </xsd:restriction>
+      </xsd:simpleType>
+      <xsd:simpleType name="enumLong">
+        <xsd:restriction base="xsd:long">
+          <xsd:enumeration value="1"/>
+          <xsd:enumeration value="2"/>                    
+          <xsd:enumeration value="3"/>                    
+          <xsd:enumeration value="-9223372036854775808"/>                    
+          <xsd:enumeration value="9223372036854775807"/>                    
+        </xsd:restriction>
+      </xsd:simpleType>
+      <xsd:simpleType name="enumShort">
+        <xsd:restriction base="xsd:short">
+          <xsd:enumeration value="1"/>
+          <xsd:enumeration value="2"/>                    
+          <xsd:enumeration value="3"/>                    
+        </xsd:restriction>
+      </xsd:simpleType>
+      <xsd:simpleType name="enumFloat">
+        <xsd:restriction base="xsd:float">
+          <xsd:enumeration value="1.1"/>
+          <xsd:enumeration value="2.2"/>                    
+          <xsd:enumeration value="3.3"/>                    
+        </xsd:restriction>
+      </xsd:simpleType>
+      <xsd:simpleType name="enumDouble">
+        <xsd:restriction base="xsd:double">
+          <xsd:enumeration value="1.1"/>
+          <xsd:enumeration value="2.2"/>                    
+          <xsd:enumeration value="3.3"/>                    
+        </xsd:restriction>
+      </xsd:simpleType>
+      <xsd:simpleType name="enumByte">
+        <xsd:restriction base="xsd:byte">
+          <xsd:enumeration value="1"/>
+          <xsd:enumeration value="2"/>                    
+          <xsd:enumeration value="3"/>                    
+        </xsd:restriction>
+      </xsd:simpleType>
+
+      <xsd:simpleType name="enumInteger">
+        <xsd:restriction base="xsd:integer">
+          <xsd:enumeration value="1"/>
+          <xsd:enumeration value="2"/>                    
+          <xsd:enumeration value="3"/>                    
+        </xsd:restriction>
+      </xsd:simpleType>
+
+      <xsd:simpleType name="flowDirectionType">
+        <xsd:restriction base="xsd:string">
+          <xsd:enumeration value="in"/>
+          <xsd:enumeration value="inOut"/>
+          <xsd:enumeration value="out"/>
+        </xsd:restriction>
+      </xsd:simpleType>
+
+      <xsd:simpleType name="enumNMTOKEN">
+        <xsd:restriction base="xsd:NMTOKEN"> <!-- axis provided simple type -->
+          <xsd:enumeration value="NameToken1"/>
+          <xsd:enumeration value="NameToken2"/>                    
+          <xsd:enumeration value="NameToken3"/>                    
+        </xsd:restriction>
+      </xsd:simpleType>
+
+      <xsd:simpleType name="AIDType">
+        <xsd:restriction base="xsd:hexBinary">
+          <xsd:maxLength value="16"/>
+          <xsd:minLength value="5"/>
+        </xsd:restriction>
+      </xsd:simpleType>
+
+<xsd:simpleType name="passModeType">
+    <xsd:restriction base="xsd:string">
+        <xsd:enumeration value="passByValue"/>
+        <xsd:enumeration value="passByReference"/>
+     </xsd:restriction>
+</xsd:simpleType>
+
+
+<xsd:element name="StringParameter" type="typens:StringParameter" />
+ <xsd:complexType name="StringParameter">
+   <xsd:simpleContent>
+      <xsd:extension base="xsd:string">
+        <xsd:attribute name="numBytes" type="soapenc:int"/>
+        <xsd:attribute name="storageEncoding" type="xsd:string"/>
+        <xsd:attribute name="direction" type="typens:flowDirectionType"/>  <!-- in, out, or inOut -->
+        <xsd:attribute name="passMode" type="typens:passModeType"/>  <!-- passByValue or passByReference -->
+        <xsd:attribute name="description" type="xsd:string"/>
+      </xsd:extension>
+   </xsd:simpleContent>
+</xsd:complexType>
+
+    </xsd:schema>
+
+
+    <xsd:schema 
+        targetNamespace="urn:comprehensive-types2.types.wsdl.test"
+        xmlns:xsd="http://www.w3.org/1999/XMLSchema">
+        <xsd:complexType name="fwd">
+          <xsd:complexContent>
+            <xsd:restriction base="soapenc:Array">
+              <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:QName[]"/>
+            </xsd:restriction>
+          </xsd:complexContent>
+        </xsd:complexType>
+
+        <!-- Collection of enums -->
+        <xsd:element name="three" type="typens:enum" maxOccurs="unbounded" />
+
+
+        <!-- Test for nested defined complexType -->
+        <xsd:element name="a" type="xsd:short" />
+        <xsd:complexType name="b">
+          <xsd:sequence>
+            <xsd:complexType name="a">
+              <xsd:sequence>
+                <xsd:element name="c" type="xsd:int" />
+              </xsd:sequence>
+            </xsd:complexType>
+            <xsd:element name="d" type="typens2:a" />
+          </xsd:sequence>
+        </xsd:complexType>
+
+  <!-- Test for a WS-I-like type that we used to fail on. -->
+        <xsd:complexType name="SimpleAnyURIType">
+          <xsd:simpleContent>
+            <xsd:extension base="xsd:anyURI">
+            </xsd:extension>
+          </xsd:simpleContent>
+        </xsd:complexType>
+
+    </xsd:schema>
+
+  </types>
+
+  <!-- message declns -->
+  <message name="empty"/>
+
+  <message name="allPrimitives">
+    <part name="string" type="xsd:string"/>
+    <part name="integer" type="xsd:integer"/>
+    <part name="int" type="xsd:int"/>
+    <part name="long" type="xsd:long"/>
+    <part name="short" type="xsd:short"/>
+    <part name="decimal" type="xsd:decimal"/>
+    <part name="float" type="xsd:float"/>
+    <part name="double" type="xsd:double"/>
+    <part name="boolean" type="xsd:boolean"/>
+    <part name="byte" type="xsd:byte"/>
+    <part name="QName" type="xsd:QName"/>
+    <part name="dateTime" type="xsd:dateTime"/>
+    <part name="base64Binary" type="xsd:base64Binary"/>
+    <part name="hexBinary" type="xsd:hexBinary"/>
+    <part name="soapString" type="soapenc:string"/>
+    <part name="soapBoolean" type="soapenc:boolean"/>
+    <part name="soapFloat" type="soapenc:float"/>
+    <part name="soapDouble" type="soapenc:double"/>
+    <part name="soapDecimal" type="soapenc:decimal"/>
+    <part name="soapInt" type="soapenc:int"/>
+    <part name="soapShort" type="soapenc:short"/>
+    <part name="soapBase64" type="soapenc:base64"/>
+    <part name="time" type="xsd:time"/>
+    <part name="unsignedLong" type="xsd:unsignedLong"/>
+    <part name="unsignedInt" type="xsd:unsignedInt"/>
+    <part name="unsignedShort" type="xsd:unsignedShort"/>
+    <part name="unsignedByte" type="xsd:unsignedByte"/>
+    <part name="nonNegativeInteger" type="xsd:nonNegativeInteger"/>
+    <part name="positiveInteger" type="xsd:positiveInteger"/>
+    <part name="nonPositiveInteger" type="xsd:nonPositiveInteger"/>
+    <part name="negativeInteger" type="xsd:negativeInteger"/>
+    <part name="anyURI" type="xsd:anyURI"/>
+    <part name="gYear" type="xsd:gYear"/>
+    <part name="gMonth" type="xsd:gMonth"/>
+    <part name="gDay" type="xsd:gDay"/>
+    <part name="gYearMonth" type="xsd:gYearMonth"/>
+    <part name="gMonthDay" type="xsd:gMonthDay"/>
+  </message>
+  <message name="inputBoolean">
+    <part name="inBoolean" type="xsd:boolean"/>
+    <part name="boolean" type="xsd:boolean"/>
+  </message>
+
+  <message name="outputBoolean">
+    <part name="outBoolean" type="xsd:boolean"/>
+    <part name="boolean" type="xsd:boolean"/>
+  </message> 
+
+  <message name="inputByte">
+    <part name="inByte" type="xsd:byte"/>
+    <part name="byte" type="xsd:byte"/>
+  </message>
+
+  <message name="outputByte">
+    <part name="outByte" type="xsd:byte"/>
+    <part name="byte" type="xsd:byte"/>
+  </message> 
+
+  <message name="inputShort">
+    <part name="inShort" type="xsd:short"/>
+    <part name="short" type="xsd:short"/>
+  </message>
+
+  <message name="outputShort">
+    <part name="outShort" type="xsd:short"/>
+    <part name="short" type="xsd:short"/>
+  </message>
+
+  <message name="inputInt">
+    <part name="inInt" type="xsd:int"/>
+    <part name="int" type="xsd:int"/>
+  </message>
+
+  <message name="outputInt">
+    <part name="outInt" type="xsd:int"/>
+    <part name="int" type="xsd:int"/>
+  </message>
+
+  <message name="inputLong">
+    <part name="inLong" type="xsd:long"/>
+    <part name="long" type="xsd:long"/>
+  </message>
+
+  <message name="outputLong">
+    <part name="outLong" type="xsd:long"/>
+    <part name="long" type="xsd:long"/>
+  </message>
+
+  <message name="inputFloat">
+    <part name="inFloat" type="xsd:float"/>
+    <part name="float" type="xsd:float"/>
+  </message>
+
+  <message name="outputFloat">
+    <part name="outFloat" type="xsd:float"/>
+    <part name="float" type="xsd:float"/>
+  </message>
+
+  <message name="inputDouble">
+    <part name="inDouble" type="xsd:double"/>
+    <part name="double" type="xsd:double"/>
+  </message>
+
+  <message name="outputDouble">
+    <part name="outDouble" type="xsd:double"/>
+    <part name="double" type="xsd:double"/>
+  </message>
+
+  <message name="inputString">
+    <part name="inString" type="xsd:string"/>
+    <part name="string" type="xsd:string"/>
+  </message>
+
+  <message name="outputString">
+    <part name="outString" type="xsd:string"/>
+    <part name="string" type="xsd:string"/>
+  </message> 
+
+  <message name="inputInteger">
+    <part name="inInteger" type="xsd:integer"/>
+    <part name="integer" type="xsd:integer"/>
+  </message>
+
+  <message name="outputInteger">
+    <part name="outInteger" type="xsd:integer"/>
+    <part name="integer" type="xsd:integer"/>
+  </message>
+
+  <message name="inputDecimal">
+    <part name="inDecimal" type="xsd:decimal"/>
+    <part name="decimal" type="xsd:decimal"/>
+  </message>
+
+  <message name="outputDecimal">
+    <part name="outDecimal" type="xsd:decimal"/>
+    <part name="decimal" type="xsd:decimal"/>
+  </message>
+
+  <message name="inputDateTime">
+    <part name="inDateTime" type="xsd:dateTime"/>
+    <part name="dateTime" type="xsd:dateTime"/>
+  </message>
+
+  <message name="outputDateTime">
+    <part name="outDateTime" type="xsd:dateTime"/>
+    <part name="dateTime" type="xsd:dateTime"/>
+  </message>
+
+  <message name="inputBase64Binary">
+    <part name="inBase64Binary" type="xsd:base64Binary"/>
+    <part name="base64Binary" type="xsd:base64Binary"/>
+  </message>
+
+  <message name="outputBase64Binary">
+    <part name="outBase64Binary" type="xsd:base64Binary"/>
+    <part name="base64Binary" type="xsd:base64Binary"/>
+  </message>
+
+  <message name="inputQName">
+    <part name="inQName" type="xsd:QName"/>
+    <part name="qName" type="xsd:QName"/>
+  </message>
+
+  <message name="outputQName">
+    <part name="outQName" type="xsd:QName"/>
+    <part name="qName" type="xsd:QName"/>
+  </message>
+
+  <message name="inputHexBinary">
+    <part name="inHexBinary" type="xsd:hexBinary"/>
+    <part name="hexBinary" type="xsd:hexBinary"/>
+  </message>
+
+  <message name="outputHexBinary">
+    <part name="outHexBinary" type="xsd:hexBinary"/>
+    <part name="hexBinary" type="xsd:hexBinary"/>
+  </message>
+
+  <message name="inputTime">
+    <part name="inTime" type="xsd:time"/>
+    <part name="time" type="xsd:time"/>
+  </message>
+
+  <message name="outputTime">
+    <part name="outTime" type="xsd:time"/>
+    <part name="time" type="xsd:time"/>
+  </message>
+
+  <message name="inputUnsignedLong">
+    <part name="inUnsignedLong" type="xsd:unsignedLong"/>
+    <part name="unsignedLong" type="xsd:unsignedLong"/>
+  </message>
+
+  <message name="outputUnsignedLong">
+    <part name="outUnsignedLong" type="xsd:unsignedLong"/>
+    <part name="unsignedLong" type="xsd:unsignedLong"/>
+  </message>
+
+  <message name="inputUnsignedInt">
+    <part name="inUnsignedInt" type="xsd:unsignedInt"/>
+    <part name="unsignedInt" type="xsd:unsignedInt"/>
+  </message>
+
+  <message name="outputUnsignedInt">
+    <part name="outUnsignedInt" type="xsd:unsignedInt"/>
+    <part name="unsignedInt" type="xsd:unsignedInt"/>
+  </message>
+
+  <message name="inputUnsignedShort">
+    <part name="inUnsignedShort" type="xsd:unsignedShort"/>
+    <part name="unsignedShort" type="xsd:unsignedShort"/>
+  </message>
+
+  <message name="outputUnsignedShort">
+    <part name="outUnsignedShort" type="xsd:unsignedShort"/>
+    <part name="unsignedShort" type="xsd:unsignedShort"/>
+  </message>
+
+  <message name="inputUnsignedByte">
+    <part name="inUnsignedByte" type="xsd:unsignedByte"/>
+    <part name="unsignedByte" type="xsd:unsignedByte"/>
+  </message>
+
+  <message name="outputUnsignedByte">
+    <part name="outUnsignedByte" type="xsd:unsignedByte"/>
+    <part name="unsignedByte" type="xsd:unsignedByte"/>
+  </message>
+
+  <message name="inputNonNegativeInteger">
+    <part name="inNonNegativeInteger" type="xsd:nonNegativeInteger"/>
+    <part name="NonNegativeInteger" type="xsd:nonNegativeInteger"/>
+  </message>
+
+  <message name="outputNonNegativeInteger">
+    <part name="outNonNegativeInteger" type="xsd:nonNegativeInteger"/>
+    <part name="NonNegativeInteger" type="xsd:nonNegativeInteger"/>
+  </message>
+
+  <message name="inputPositiveInteger">
+    <part name="inPositiveInteger" type="xsd:positiveInteger"/>
+    <part name="PositiveInteger" type="xsd:positiveInteger"/>
+  </message>
+
+  <message name="outputPositiveInteger">
+    <part name="outPositiveInteger" type="xsd:positiveInteger"/>
+    <part name="PositiveInteger" type="xsd:positiveInteger"/>
+  </message>
+
+  <message name="inputNonPositiveInteger">
+    <part name="inNonPositiveInteger" type="xsd:nonPositiveInteger"/>
+    <part name="NonPositiveInteger" type="xsd:nonPositiveInteger"/>
+  </message>
+
+  <message name="outputNonPositiveInteger">
+    <part name="outNonPositiveInteger" type="xsd:nonPositiveInteger"/>
+    <part name="NonPositiveInteger" type="xsd:nonPositiveInteger"/>
+  </message>
+
+  <message name="inputNegativeInteger">
+    <part name="inNegativeInteger" type="xsd:negativeInteger"/>
+    <part name="NegativeInteger" type="xsd:negativeInteger"/>
+  </message>
+
+  <message name="outputNegativeInteger">
+    <part name="outNegativeInteger" type="xsd:negativeInteger"/>
+    <part name="NegativeInteger" type="xsd:negativeInteger"/>
+  </message>
+
+  <message name="inputAnyURI">
+    <part name="inAnyURI" type="xsd:anyURI"/>
+    <part name="anyURI" type="xsd:anyURI"/>
+  </message>
+
+  <message name="outputAnyURI">
+    <part name="outAnyURI" type="xsd:anyURI"/>
+    <part name="anyURI" type="xsd:anyURI"/>
+  </message>
+
+  <message name="inputSimpleAnyURI">
+    <part name="inAnyURI" type="typens2:SimpleAnyURIType"/>
+    <part name="anyURI" type="typens2:SimpleAnyURIType"/>
+  </message>
+
+  <message name="outputSimpleAnyURI">
+    <part name="outAnyURI" type="typens2:SimpleAnyURIType"/>
+    <part name="anyURI" type="typens2:SimpleAnyURIType"/>
+  </message>
+
+  <message name="inputYear">
+    <part name="inYear" type="xsd:gYear"/>
+    <part name="Year" type="xsd:gYear"/>
+  </message>
+
+  <message name="outputYear">
+    <part name="outYear" type="xsd:gYear"/>
+    <part name="Year" type="xsd:gYear"/>
+  </message>
+
+  <message name="inputMonth">
+    <part name="inMonth" type="xsd:gMonth"/>
+    <part name="Month" type="xsd:gMonth"/>
+  </message>
+
+  <message name="outputMonth">
+    <part name="outMonth" type="xsd:gMonth"/>
+    <part name="Month" type="xsd:gMonth"/>
+  </message>
+
+  <message name="inputDay">
+    <part name="inDay" type="xsd:gDay"/>
+    <part name="Day" type="xsd:gDay"/>
+  </message>
+
+  <message name="outputDay">
+    <part name="outDay" type="xsd:gDay"/>
+    <part name="Day" type="xsd:gDay"/>
+  </message>
+
+  <message name="inputYearMonth">
+    <part name="inYearMonth" type="xsd:gYearMonth"/>
+    <part name="YearMonth" type="xsd:gYearMonth"/>
+  </message>
+
+  <message name="outputYearMonth">
+    <part name="outYearMonth" type="xsd:gYearMonth"/>
+    <part name="YearMonth" type="xsd:gYearMonth"/>
+  </message>
+
+  <message name="inputMonthDay">
+    <part name="inMonthDay" type="xsd:gMonthDay"/>
+    <part name="MonthDay" type="xsd:gMonthDay"/>
+  </message>
+
+  <message name="outputMonthDay">
+    <part name="outMonthDay" type="xsd:gMonthDay"/>
+    <part name="MonthDay" type="xsd:gMonthDay"/>
+  </message>
+
+  <message name="inputSoapString">
+    <part name="inSoapString" type="soapenc:string"/>
+    <part name="soapencString" type="soapenc:string"/>
+  </message>
+
+  <message name="outputSoapString">
+    <part name="outSoapString" type="soapenc:string"/>
+    <part name="soapencString" type="soapenc:string"/>
+  </message>
+
+  <message name="inputSoapBoolean">
+    <part name="inSoapBoolean" type="soapenc:boolean"/>
+    <part name="soapencBoolean" type="soapenc:boolean"/>
+  </message>
+
+  <message name="outputSoapBoolean">
+    <part name="outSoapBoolean" type="soapenc:boolean"/>
+    <part name="soapencBoolean" type="soapenc:boolean"/>
+  </message>
+
+  <message name="inputSoapFloat">
+    <part name="inSoapFloat" type="soapenc:float"/>
+    <part name="soapencFloat" type="soapenc:float"/>
+  </message>
+
+  <message name="outputSoapFloat">
+    <part name="outSoapFloat" type="soapenc:float"/>
+    <part name="soapencFloat" type="soapenc:float"/>
+  </message>
+
+  <message name="inputSoapDouble">
+    <part name="inSoapDouble" type="soapenc:double"/>
+    <part name="soapencDouble" type="soapenc:double"/>
+  </message>
+
+  <message name="outputSoapDouble">
+    <part name="outSoapDouble" type="soapenc:double"/>
+    <part name="soapencDouble" type="soapenc:double"/>
+  </message>
+
+  <message name="inputSoapDecimal">
+    <part name="inSoapDecimal" type="soapenc:decimal"/>
+    <part name="soapencDecimal" type="soapenc:decimal"/>
+  </message>
+
+  <message name="outputSoapDecimal">
+    <part name="outSoapDecimal" type="soapenc:decimal"/>
+    <part name="soapencDecimal" type="soapenc:decimal"/>
+  </message>
+
+  <message name="inputSoapInt">
+    <part name="inSoapInt" type="soapenc:int"/>
+    <part name="soapencInt" type="soapenc:int"/>
+  </message>
+
+  <message name="outputSoapInt">
+    <part name="outSoapInt" type="soapenc:int"/>
+    <part name="soapencInt" type="soapenc:int"/>
+  </message>
+
+  <message name="inputSoapShort">
+    <part name="inSoapShort" type="soapenc:short"/>
+    <part name="soapencShort" type="soapenc:short"/>
+  </message>
+
+  <message name="outputSoapShort">
+    <part name="outSoapShort" type="soapenc:short"/>
+    <part name="soapencShort" type="soapenc:short"/>
+  </message>
+
+  <message name="inputSoapBase64">
+    <part name="inSoapBase64" type="soapenc:base64"/>
+    <part name="soapencBase64" type="soapenc:base64"/>
+  </message>
+
+  <message name="outputSoapBase64">
+    <part name="outSoapBase64" type="soapenc:base64"/>
+    <part name="soapencBase64" type="soapenc:base64"/>
+  </message>
+                     
+  <message name="enum">
+    <part name="enum" type="typens:enum"/>
+  </message>
+
+  <message name="enumInt">
+    <part name="enumInt" type="typens:enumInt"/>
+  </message>
+
+  <message name="array">
+    <part name="array" type="typens:array"/>
+  </message>
+
+  <message name="arrayM">
+    <part name="arrayM" type="typens:arrayM"/>
+  </message>
+
+  <message name="complexAll">
+    <part name="complexAll" type="typens:complexAll"/>
+  </message>
+
+  <message name="complexSequence">
+    <part name="complexSequence" type="typens:complexSequence"/>
+  </message>
+
+  <message name="elemWComplex">
+    <part name="elemWComplex" element="typens:elemWComplex"/>
+  </message>
+
+  <message name="complexWComplex">
+    <part name="complexWComplex" type="typens:complexWComplex"/>
+  </message>
+
+  <message name="any">
+    <part name="any" type="xsd:anyType"/>
+  </message>
+
+  <message name="animal">
+    <part name="animal" type="typens:Animal"/>
+  </message>
+
+  <message name="cat">
+    <part name="cat" type="typens:Cat"/>
+  </message>
+
+  <message name="emptyFault">
+    <part name="theFault" type="typens:emptyFault" />
+  </message>
+
+  <message name="faultWithElement">
+    <part name="fault2" element="typens:faultElement" />
+  </message>
+
+  <message name="emptyComplexType">
+    <part name="emptyComplexType" type="typens:emptyComplexType" />
+  </message>
+
+  <!-- port type declns -->
+  <portType name="TypeTest">
+    <operation name="allPrimitivesIn">
+      <input message="tns:allPrimitives"/>
+      <output message="tns:empty"/>
+    </operation>
+    <operation name="allPrimitivesInout">
+      <input message="tns:allPrimitives"/>
+      <output message="tns:allPrimitives"/>
+    </operation>
+    <operation name="allPrimitivesOut">
+      <input message="tns:empty"/>
+      <output message="tns:allPrimitives"/>
+    </operation>
+    <operation name="enumIn">
+      <input message="tns:enum"/>
+      <output message="tns:empty"/>
+    </operation>
+    <operation name="enumInout">
+      <input message="tns:enum"/>
+      <output message="tns:enum"/>
+    </operation>
+    <operation name="enumOut" parameterOrder="enum">
+      <input message="tns:empty"/>
+      <output message="tns:enum"/>
+    </operation>
+    <operation name="enumReturn">
+      <input message="tns:empty"/>
+      <output message="tns:enum"/>
+    </operation>
+    <operation name="enumIntIn">
+      <input message="tns:enumInt"/>
+      <output message="tns:empty"/>
+    </operation>
+    <operation name="enumIntInout">
+      <input message="tns:enumInt"/>
+      <output message="tns:enumInt"/>
+    </operation>
+    <operation name="enumIntOut" parameterOrder="enumInt">
+      <input message="tns:empty"/>
+      <output message="tns:enumInt"/>
+    </operation>
+    <operation name="enumIntReturn">
+      <input message="tns:empty"/>
+      <output message="tns:enumInt"/>
+    </operation>
+    <operation name="arrayIn">
+      <input message="tns:array"/>
+      <output message="tns:empty"/>
+    </operation>
+    <operation name="arrayInout">
+      <input message="tns:array"/>
+      <output message="tns:array"/>
+    </operation>
+    <operation name="arrayOut" parameterOrder="array">
+      <input message="tns:empty"/>
+      <output message="tns:array"/>
+    </operation>
+    <operation name="arrayReturn">
+      <input message="tns:empty"/>
+      <output message="tns:array"/>
+    </operation>
+
+    <operation name="arrayMIn">
+      <input message="tns:arrayM"/>
+      <output message="tns:empty"/>
+    </operation>
+    <operation name="arrayMInout">
+      <input message="tns:arrayM"/>
+      <output message="tns:arrayM"/>
+    </operation>
+    <operation name="arrayMOut" parameterOrder="arrayM">
+      <!-- BUG: type emptyM not defined ! Replacing by type empty
+      	for the time being.
+      -->
+      <input message="tns:empty"/>
+      <output message="tns:arrayM"/>
+    </operation>
+    <operation name="arrayMReturn">
+      <!-- BUG: type emptyM not defined ! Replacing by type empty
+      	for the time being.
+      -->
+      <input message="tns:empty"/>      
+      <output message="tns:arrayM"/>
+    </operation>
+
+    <operation name="complexAllIn">
+      <input message="tns:complexAll"/>
+      <output message="tns:empty"/>
+    </operation>
+    <operation name="complexAllInout">
+      <input message="tns:complexAll"/>
+      <output message="tns:complexAll"/>
+    </operation>
+    <operation name="complexAllOut" parameterOrder="complexAll">
+      <input message="tns:empty"/>
+      <output message="tns:complexAll"/>
+    </operation>
+    <operation name="complexAllReturn">
+      <input message="tns:empty"/>
+      <output message="tns:complexAll"/>
+    </operation>
+    <operation name="complexSequenceIn">
+      <input message="tns:complexSequence"/>
+      <output message="tns:empty"/>
+    </operation>
+    <operation name="complexSequenceInout">
+      <input message="tns:complexSequence"/>
+      <output message="tns:complexSequence"/>
+    </operation>
+    <operation name="complexSequenceOut" parameterOrder="complexSequence">
+      <input message="tns:empty"/>
+      <output message="tns:complexSequence"/>
+    </operation>
+    <operation name="complexSequenceReturn">
+      <input message="tns:empty"/>
+      <output message="tns:complexSequence"/>
+    </operation>
+    <operation name="elemWComplexIn">
+      <input message="tns:elemWComplex"/>
+      <output message="tns:empty"/>
+    </operation>
+    <operation name="elemWComplexInout">
+      <input message="tns:elemWComplex"/>
+      <output message="tns:elemWComplex"/>
+    </operation>
+    <operation name="elemWComplexOut" parameterOrder="elemWComplex">
+      <input message="tns:empty"/>
+      <output message="tns:elemWComplex"/>
+    </operation>
+    <operation name="elemWComplexReturn">
+      <input message="tns:empty"/>
+      <output message="tns:elemWComplex"/>
+    </operation>
+    <operation name="complexWComplexIn">
+      <input message="tns:complexWComplex"/>
+      <output message="tns:empty"/>
+    </operation>
+    <operation name="complexWComplexInout">
+      <input message="tns:complexWComplex"/>
+      <output message="tns:complexWComplex"/>
+    </operation>
+    <operation name="complexWComplexOut" parameterOrder="complexWComplex">
+      <input message="tns:empty"/>
+      <output message="tns:complexWComplex"/>
+    </operation>
+    <operation name="complexWComplexReturn">
+      <input message="tns:empty"/>
+      <output message="tns:complexWComplex"/>
+    </operation>
+    <operation name="emptyComplexTypeIn" parameterOrder="emptyComplexType">
+      <input message="tns:emptyComplexType"/>
+      <output message="tns:empty"/>
+      <fault name="emptyFault" message="tns:emptyFault"/>
+        <!-- Can't have faults with <part element=""> in an RPC service...
+             Don't know what the intent was here, but since no one is actually
+             throwing this fault, commenting it out because it's now triggering
+             our more-draconian error checking.
+             
+      <fault name="faultWithElement" message="tns:faultWithElement"/>
+      -->
+    </operation>
+    <operation name="emptyComplexTypeInout" parameterOrder="emptyComplexType">
+      <input message="tns:emptyComplexType"/>
+      <output message="tns:emptyComplexType"/>
+      <fault name="emptyFault" message="tns:emptyFault"/>
+    </operation>
+    <operation name="emptyComplexTypeOut" parameterOrder="emptyComplexType">
+      <input message="tns:empty"/>
+      <output message="tns:emptyComplexType"/>
+      <fault name="emptyFault" message="tns:emptyFault"/>
+    </operation>
+    <operation name="emptyComplexTypeReturn">
+      <input message="tns:empty"/>
+      <output message="tns:emptyComplexType"/>
+      <fault name="emptyFault" message="tns:emptyFault"/>
+    </operation>
+    <operation name="anyIn">
+      <input message="tns:any"/>
+      <output message="tns:empty"/>
+    </operation>
+    <operation name="anyInout">
+      <input message="tns:any"/>
+      <output message="tns:any"/>
+    </operation>
+    <operation name="anyOut" parameterOrder="any">
+      <input message="tns:empty"/>
+      <output message="tns:any"/>
+    </operation>
+    <operation name="anyReturn">
+      <input message="tns:empty"/>
+      <output message="tns:any"/>
+    </operation>
+    <operation name="animalIn">
+      <input message="tns:animal"/>
+      <output message="tns:empty"/>
+    </operation>
+    <operation name="animalInout">
+      <input message="tns:animal"/>
+      <output message="tns:animal"/>
+    </operation>
+    <operation name="animalOut" parameterOrder="animal">
+      <input message="tns:empty"/>
+      <output message="tns:animal"/>
+    </operation>
+    <operation name="animalReturn">
+      <input message="tns:empty"/>
+      <output message="tns:animal"/>
+    </operation>
+    <operation name="catIn">
+      <input message="tns:cat"/>
+      <output message="tns:empty"/>
+    </operation>
+    <operation name="catInout">
+      <input message="tns:cat"/>
+      <output message="tns:cat"/>
+    </operation>
+    <operation name="catOut" parameterOrder="cat">
+      <input message="tns:empty"/>
+      <output message="tns:cat"/>
+    </operation>
+    <operation name="catReturn">
+      <input message="tns:empty"/>
+      <output message="tns:cat"/>
+    </operation>
+    <operation name="methodBoolean">
+      <input message="tns:inputBoolean"/>
+      <output message="tns:outputBoolean"/>
+    </operation>
+    <operation name="methodByte">
+      <input message="tns:inputByte"/>
+      <output message="tns:outputByte"/>
+    </operation>
+    <operation name="methodShort">
+      <input message="tns:inputShort"/>
+      <output message="tns:outputShort"/>
+    </operation>
+    <operation name="methodInt">
+      <input message="tns:inputInt"/>
+      <output message="tns:outputInt"/>
+    </operation>
+    <operation name="methodLong">
+      <input message="tns:inputLong"/>
+      <output message="tns:outputLong"/>
+    </operation>
+    <operation name="methodFloat">
+      <input message="tns:inputFloat"/>
+      <output message="tns:outputFloat"/>
+    </operation>
+    <operation name="methodDouble">
+      <input message="tns:inputDouble"/>
+      <output message="tns:outputDouble"/>
+    </operation>
+    <operation name="methodString">
+      <input message="tns:inputString"/>
+      <output message="tns:outputString"/>
+    </operation>
+    <operation name="methodInteger">
+      <input message="tns:inputInteger"/>
+      <output message="tns:outputInteger"/>
+    </operation>
+    <operation name="methodDecimal">
+      <input message="tns:inputDecimal"/>
+      <output message="tns:outputDecimal"/>
+    </operation>
+    <operation name="methodDateTime">
+      <input message="tns:inputDateTime"/>
+      <output message="tns:outputDateTime"/>
+    </operation>    
+    <!-- Comment out for now because causes compile errors
+    <operation name="methodBase64Binary">
+      <input message="tns:inputBase64Binary"/>
+      <output message="tns:outputBase64Binary"/>
+    </operation>
+    -->
+    <operation name="methodQName">
+      <input message="tns:inputQName"/>
+      <output message="tns:outputQName"/>
+    </operation>    
+    <!-- Comment out for now because causes compile errors
+    <operation name="methodHexBinary">
+      <input message="tns:inputHexBinary"/>
+      <output message="tns:outputHexBinary"/>
+    </operation>
+    -->
+    <operation name="methodTime">
+      <input message="tns:inputTime"/>
+      <output message="tns:outputTime"/>
+    </operation>    
+    <operation name="methodUnsignedLong">
+      <input message="tns:inputUnsignedLong"/>
+      <output message="tns:outputUnsignedLong"/>
+    </operation>    
+    <operation name="methodUnsignedInt">
+      <input message="tns:inputUnsignedInt"/>
+      <output message="tns:outputUnsignedInt"/>
+    </operation>    
+    <operation name="methodUnsignedShort">
+      <input message="tns:inputUnsignedShort"/>
+      <output message="tns:outputUnsignedShort"/>
+    </operation>    
+    <operation name="methodUnsignedByte">
+      <input message="tns:inputUnsignedByte"/>
+      <output message="tns:outputUnsignedByte"/>
+    </operation>
+    <operation name="methodNonNegativeInteger">
+      <input message="tns:inputNonNegativeInteger"/>
+      <output message="tns:outputNonNegativeInteger"/>
+    </operation>    
+    <operation name="methodPositiveInteger">
+      <input message="tns:inputPositiveInteger"/>
+      <output message="tns:outputPositiveInteger"/>
+    </operation>    
+    <operation name="methodNonPositiveInteger">
+      <input message="tns:inputNonPositiveInteger"/>
+      <output message="tns:outputNonPositiveInteger"/>
+    </operation>    
+    <operation name="methodNegativeInteger">
+      <input message="tns:inputNegativeInteger"/>
+      <output message="tns:outputNegativeInteger"/>
+    </operation>    
+    <operation name="methodAnyURI">
+      <input message="tns:inputAnyURI"/>
+      <output message="tns:outputAnyURI"/>
+    </operation>
+    <operation name="methodSimpleAnyURI">
+      <input message="tns:inputSimpleAnyURI"/>
+      <output message="tns:outputSimpleAnyURI"/>
+    </operation>
+    <operation name="methodYear">
+      <input message="tns:inputYear"/>
+      <output message="tns:outputYear"/>
+    </operation>    
+    <operation name="methodMonth">
+      <input message="tns:inputMonth"/>
+      <output message="tns:outputMonth"/>
+    </operation>    
+    <operation name="methodDay">
+      <input message="tns:inputDay"/>
+      <output message="tns:outputDay"/>
+    </operation>    
+    <operation name="methodYearMonth">
+      <input message="tns:inputYearMonth"/>
+      <output message="tns:outputYearMonth"/>
+    </operation>    
+    <operation name="methodMonthDay">
+      <input message="tns:inputMonthDay"/>
+      <output message="tns:outputMonthDay"/>
+    </operation>    
+    <operation name="methodSoapString">
+      <input message="tns:inputSoapString"/>
+      <output message="tns:outputSoapString"/>
+    </operation>
+    <operation name="methodSoapBoolean">
+      <input message="tns:inputSoapBoolean"/>
+      <output message="tns:outputSoapBoolean"/>
+    </operation>
+    <operation name="methodSoapFloat">
+      <input message="tns:inputSoapFloat"/>
+      <output message="tns:outputSoapFloat"/>
+    </operation>
+    <operation name="methodSoapDouble">
+      <input message="tns:inputSoapDouble"/>
+      <output message="tns:outputSoapDouble"/>
+    </operation>
+    <operation name="methodSoapDecimal">
+      <input message="tns:inputSoapDecimal"/>
+      <output message="tns:outputSoapDecimal"/>
+    </operation>
+    <operation name="methodSoapInt">
+      <input message="tns:inputSoapInt"/>
+      <output message="tns:outputSoapInt"/>
+    </operation>
+    <operation name="methodSoapShort">
+      <input message="tns:inputSoapShort"/>
+      <output message="tns:outputSoapShort"/>
+    </operation>    
+    <!-- Comment out for now because causes compile errors 
+    <operation name="methodSoapBase64">
+      <input message="tns:inputSoapBase64"/>
+      <output message="tns:outputSoapBase64"/>
+    </operation>
+    -->
+  </portType>
+
+  <!-- binding declns -->
+  <binding name="TypeTestBinding" type="tns:TypeTest">
+    <soap:binding
+        style="rpc"
+        transport="http://schemas.xmlsoap.org/soap/http"/>
+    <operation name="allPrimitivesIn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="allPrimitivesInout">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="allPrimitivesOut">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="enumIn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="enumInout">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="enumOut">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="enumReturn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="enumIntIn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="enumIntInout">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="enumIntOut">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="enumIntReturn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="arrayIn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="arrayInout">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="arrayOut">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="arrayReturn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+
+    <operation name="arrayMIn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="arrayMInout">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="arrayMOut">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="arrayMReturn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+
+    <operation name="complexAllIn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="complexAllInout">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="complexAllOut">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="complexAllReturn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="complexSequenceIn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="complexSequenceInout">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="complexSequenceOut">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="complexSequenceReturn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="elemWComplexIn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="elemWComplexInout">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="elemWComplexOut">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="elemWComplexReturn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="complexWComplexIn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="complexWComplexInout">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="complexWComplexOut">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="complexWComplexReturn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="emptyComplexTypeIn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+      <fault name="emptyFault">
+          <soap:fault name="emptyFault" use="encoded"/>
+      </fault>
+    </operation>
+    <operation name="emptyComplexTypeInout">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+      <fault name="emptyFault">
+        <soap:fault name="emptyFault" use="encoded"/>
+      </fault>
+    </operation>
+    <operation name="emptyComplexTypeOut">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+      <fault name="emptyFault">
+        <soap:fault name="emptyFault" use="encoded"/>
+      </fault>
+    </operation>
+    <operation name="emptyComplexTypeReturn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+      <fault name="emptyFault">
+        <soap:fault name="emptyFault" use="encoded"/>
+      </fault>
+    </operation>
+    <operation name="anyIn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="anyInout">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="anyOut">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="anyReturn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="animalIn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="animalInout">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="animalOut">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="animalReturn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="catIn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="catInout">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="catOut">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="catReturn">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodBoolean">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodByte">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodShort">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodInt">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodLong">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodFloat">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodDouble">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodString">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodInteger">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodDecimal">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodDateTime">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>    
+    <!-- Comment out for now because causes compile errors
+    <operation name="methodBase64Binary">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    -->
+    <operation name="methodQName">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>    
+    <!-- Comment out for now because causes compile errors
+    <operation name="methodHexBinary">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    -->
+    <operation name="methodTime">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>    
+    <operation name="methodUnsignedLong">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>    
+    <operation name="methodUnsignedInt">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>    
+    <operation name="methodUnsignedShort">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>    
+    <operation name="methodUnsignedByte">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>    
+    <operation name="methodNonNegativeInteger">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodPositiveInteger">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodNonPositiveInteger">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodNegativeInteger">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    
+    <operation name="methodAnyURI">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>    
+    <operation name="methodSimpleAnyURI">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>    
+    <operation name="methodYear">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>    
+    <operation name="methodMonth">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>    
+    <operation name="methodDay">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>    
+    <operation name="methodYearMonth">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>    
+    <operation name="methodMonthDay">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>    
+    <operation name="methodSoapString">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodSoapBoolean">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodSoapFloat">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodSoapDouble">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodSoapDecimal">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodSoapInt">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="methodSoapShort">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>  
+    <!-- Comment out for now because causes compile errors
+    <operation name="methodSoapBase64">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body
+            use="encoded"
+            namespace=""
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    -->
+  </binding>
+
+  <!-- service decln -->
+  <service name="TypeTestService">
+    <port name="TypeTest" binding="tns:TypeTestBinding">
+      <soap:address location="http://localhost:8080/axis/services/TypeTest"/>
+    </port>
+  </service>
+
+</definitions>
+

Propchange: webservices/mirae/trunk/tests/functional/wsdl/ComprehensiveTypes.wsdl
------------------------------------------------------------------------------
    svn:executable = *