summaryrefslogtreecommitdiffstats
path: root/test/resources/wsdl
diff options
context:
space:
mode:
Diffstat (limited to 'test/resources/wsdl')
-rw-r--r--test/resources/wsdl/Attachment1.wsdl76
-rw-r--r--test/resources/wsdl/AttachmentService.wsdl139
-rw-r--r--test/resources/wsdl/AxisBench.wsdl108
-rw-r--r--test/resources/wsdl/BasicAllTest.wsdl102
-rw-r--r--test/resources/wsdl/BasicChoice.wsdl104
-rw-r--r--test/resources/wsdl/Calculator.wsdl135
-rw-r--r--test/resources/wsdl/CalculatorDoc.wsdl255
-rw-r--r--test/resources/wsdl/Choice.wsdl104
-rw-r--r--test/resources/wsdl/CombinedAllTest.wsdl107
-rw-r--r--test/resources/wsdl/CombinedChoice.wsdl110
-rw-r--r--test/resources/wsdl/ComplexLists.wsdl192
-rw-r--r--test/resources/wsdl/ComplexTypeAll.wsdl81
-rw-r--r--test/resources/wsdl/DataHandlerService.wsdl291
-rw-r--r--test/resources/wsdl/Enumeration.wsdl108
-rw-r--r--test/resources/wsdl/ExceptionTest.wsdl97
-rw-r--r--test/resources/wsdl/ExceptionTestDoc.wsdl160
-rw-r--r--test/resources/wsdl/ExtensibilityQuery.wsdl154
-rw-r--r--test/resources/wsdl/FaultMapping.wsdl97
-rw-r--r--test/resources/wsdl/FaultMappingDoc.wsdl160
-rw-r--r--test/resources/wsdl/FourLevelTestDoc.wsdl73
-rw-r--r--test/resources/wsdl/InOut.wsdl429
-rw-r--r--test/resources/wsdl/InteropTestRound1.wsdl333
-rw-r--r--test/resources/wsdl/InteropTestRound1Doc.wsdl774
-rw-r--r--test/resources/wsdl/LargeReturningString.wsdl95
-rw-r--r--test/resources/wsdl/LimitedAllTest.wsdl103
-rw-r--r--test/resources/wsdl/ManyTypeRefRoot.wsdl89
-rw-r--r--test/resources/wsdl/MathOps.wsdl71
-rw-r--r--test/resources/wsdl/MathOpsDoc.wsdl118
-rw-r--r--test/resources/wsdl/MinOccurTest.wsdl107
-rw-r--r--test/resources/wsdl/MultiOut.wsdl139
-rw-r--r--test/resources/wsdl/NestedArrays.wsdl105
-rw-r--r--test/resources/wsdl/NestedComplex.wsdl130
-rw-r--r--test/resources/wsdl/NillableArrays.wsdl266
-rw-r--r--test/resources/wsdl/OtherFaultException.wsdl97
-rw-r--r--test/resources/wsdl/PlainTextAttachment.wsdl69
-rw-r--r--test/resources/wsdl/PrimitiveAndArray.wsdl155
-rw-r--r--test/resources/wsdl/RPCAllTest.wsdl101
-rw-r--r--test/resources/wsdl/RecurseTypes.wsdl101
-rw-r--r--test/resources/wsdl/RpcHttpHeaderTest1.wsdl333
-rw-r--r--test/resources/wsdl/RpcHttpHeaderTest2.wsdl333
-rw-r--r--test/resources/wsdl/RpcHttpHeaderTest3.wsdl333
-rw-r--r--test/resources/wsdl/RpcHttpHeaderTest4.wsdl333
-rw-r--r--test/resources/wsdl/RpcHttpHeaderTest5.wsdl333
-rw-r--r--test/resources/wsdl/RpcHttpHeaderTest7.wsdl333
-rw-r--r--test/resources/wsdl/RpcHttpHeaderTest8.wsdl333
-rw-r--r--test/resources/wsdl/RpcSoapHeaderTest1.wsdl333
-rw-r--r--test/resources/wsdl/RpcSoapHeaderTest10.wsdl333
-rw-r--r--test/resources/wsdl/RpcSoapHeaderTest2.wsdl333
-rw-r--r--test/resources/wsdl/RpcSoapHeaderTest3.wsdl333
-rw-r--r--test/resources/wsdl/RpcSoapHeaderTest4.wsdl333
-rw-r--r--test/resources/wsdl/RpcSoapHeaderTest6.wsdl333
-rw-r--r--test/resources/wsdl/RpcSoapHeaderTest8.wsdl333
-rw-r--r--test/resources/wsdl/RpcSoapHeaderTest9.wsdl333
-rw-r--r--test/resources/wsdl/SimpleArray.wsdl64
-rw-r--r--test/resources/wsdl/SimpleArrayDoc.wsdl85
-rw-r--r--test/resources/wsdl/SimpleArrays.wsdl299
-rw-r--r--test/resources/wsdl/SimpleChoice.wsdl104
-rw-r--r--test/resources/wsdl/SimpleRef.wsdl114
-rw-r--r--test/resources/wsdl/SimpleRefDoc.wsdl100
-rw-r--r--test/resources/wsdl/SimpleTypeArray.wsdl75
-rw-r--r--test/resources/wsdl/SimpleTypeInnerUnbounded.wsdl113
-rw-r--r--test/resources/wsdl/SimpleTypeInnerUnboundedInOutput.wsdl113
-rw-r--r--test/resources/wsdl/StockQuotes.wsdl48
-rw-r--r--test/resources/wsdl/TestTransportTimeout.wsdl255
-rw-r--r--test/resources/wsdl/UDDI.wsdl31
-rw-r--r--test/resources/wsdl/UnboundedChoice.wsdl104
-rw-r--r--test/resources/wsdl/UnboundedStringChoice.wsdl103
-rw-r--r--test/resources/wsdl/XSDAttribute.wsdl1046
-rw-r--r--test/resources/wsdl/XSDElement.wsdl1422
-rw-r--r--test/resources/wsdl/XSDElementNil.wsdl1414
-rw-r--r--test/resources/wsdl/XSD_ENTITIES.wsdl285
-rw-r--r--test/resources/wsdl/XSD_ENTITY.wsdl285
-rw-r--r--test/resources/wsdl/XSD_ID.wsdl285
-rw-r--r--test/resources/wsdl/XSD_IDREF.wsdl285
-rw-r--r--test/resources/wsdl/XSD_IDREFS.wsdl285
-rw-r--r--test/resources/wsdl/XSD_NCName.wsdl285
-rw-r--r--test/resources/wsdl/XSD_NMTOKEN.wsdl285
-rw-r--r--test/resources/wsdl/XSD_NMTOKENS.wsdl285
-rw-r--r--test/resources/wsdl/XSD_NOTATION.wsdl285
-rw-r--r--test/resources/wsdl/XSD_Name.wsdl285
-rw-r--r--test/resources/wsdl/XSD_QName.wsdl285
-rw-r--r--test/resources/wsdl/XSD_anyURI.wsdl285
-rw-r--r--test/resources/wsdl/XSD_base64Binary.wsdl285
-rw-r--r--test/resources/wsdl/XSD_boolean.wsdl285
-rw-r--r--test/resources/wsdl/XSD_byte.wsdl285
-rw-r--r--test/resources/wsdl/XSD_date.wsdl285
-rw-r--r--test/resources/wsdl/XSD_dateTime.wsdl285
-rw-r--r--test/resources/wsdl/XSD_decimal.wsdl285
-rw-r--r--test/resources/wsdl/XSD_double.wsdl285
-rw-r--r--test/resources/wsdl/XSD_duration.wsdl285
-rw-r--r--test/resources/wsdl/XSD_float.wsdl285
-rw-r--r--test/resources/wsdl/XSD_gDay.wsdl285
-rw-r--r--test/resources/wsdl/XSD_gMonth.wsdl285
-rw-r--r--test/resources/wsdl/XSD_gMonthDay.wsdl285
-rw-r--r--test/resources/wsdl/XSD_gYear.wsdl285
-rw-r--r--test/resources/wsdl/XSD_gYearMonth.wsdl285
-rw-r--r--test/resources/wsdl/XSD_hexBinary.wsdl285
-rw-r--r--test/resources/wsdl/XSD_int.wsdl285
-rw-r--r--test/resources/wsdl/XSD_integer.wsdl285
-rw-r--r--test/resources/wsdl/XSD_language.wsdl285
-rw-r--r--test/resources/wsdl/XSD_long.wsdl285
-rw-r--r--test/resources/wsdl/XSD_negativeInteger.wsdl285
-rw-r--r--test/resources/wsdl/XSD_nonNegativeInteger.wsdl285
-rw-r--r--test/resources/wsdl/XSD_nonPositiveInteger.wsdl285
-rw-r--r--test/resources/wsdl/XSD_normalizedString.wsdl285
-rw-r--r--test/resources/wsdl/XSD_positiveInteger.wsdl285
-rw-r--r--test/resources/wsdl/XSD_short.wsdl285
-rw-r--r--test/resources/wsdl/XSD_string.wsdl285
-rw-r--r--test/resources/wsdl/XSD_time.wsdl285
-rw-r--r--test/resources/wsdl/XSD_token.wsdl285
-rw-r--r--test/resources/wsdl/XSD_unsignedByte.wsdl285
-rw-r--r--test/resources/wsdl/XSD_unsignedInt.wsdl285
-rw-r--r--test/resources/wsdl/XSD_unsignedLong.wsdl285
-rw-r--r--test/resources/wsdl/XSD_unsignedShort.wsdl285
-rw-r--r--test/resources/wsdl/inquire_v2.wsdl273
-rw-r--r--test/resources/wsdl/interoptestdoclitparameters.wsdl175
-rw-r--r--test/resources/wsdl/nillableComplexType.wsdl78
-rw-r--r--test/resources/wsdl/nillableComplexType.xsd26
118 files changed, 29512 insertions, 0 deletions
diff --git a/test/resources/wsdl/Attachment1.wsdl b/test/resources/wsdl/Attachment1.wsdl
new file mode 100644
index 0000000..0fc52d0
--- /dev/null
+++ b/test/resources/wsdl/Attachment1.wsdl
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions targetNamespace="http://attachment1"
+ xmlns:impl="http://attachment1"
+ xmlns:intf="http://attachment1"
+ xmlns:tns2="http://xml.apache.org/xml-soap"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <wsdl:types>
+ <schema elementFormDefault="qualified"
+ targetNamespace="http://attachment1"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:impl="http://attachment1"
+ xmlns:intf="http://attachment1"
+ xmlns:tns2="http://xml.apache.org/xml-soap"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <import namespace="http://xml.apache.org/xml-soap"/>
+ <element name="put">
+ <complexType>
+ <sequence>
+ <element name="arg1" type="tns2:Image"/>
+ <element name="arg2" type="tns2:PlainText"/>
+ <element name="arg3" type="tns2:Source"/>
+ <element name="arg4" type="tns2:octet-stream"/>
+ <element name="arg5" type="tns2:DataHandler"/>
+ <!-- element name="arg6" type="tns2:MimeMultipart"/ -->
+ <element name="arg7" nillable="true" type="tns2:DataHandler"/>
+ <element name="arg8" nillable="true" type="tns2:DataHandler"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="putResponse">
+ <complexType>
+ <sequence>
+ <element name="putReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="putRequest">
+ <wsdl:part element="impl:put" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="putResponse">
+ <wsdl:part element="impl:putResponse" name="parameters"/>
+ </wsdl:message>
+
+ <wsdl:portType name="AttachmentBindingImpl">
+ <wsdl:operation name="put">
+ <wsdl:input message="impl:putRequest" name="putRequest"/>
+ <wsdl:output message="impl:putResponse" name="putResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:binding name="Attachment1SoapBinding" type="impl:AttachmentBindingImpl">
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="put">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="putRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="putResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="AttachmentBindingImplService">
+ <wsdl:port binding="impl:Attachment1SoapBinding" name="Attachment1">
+ <wsdlsoap:address location="http://localhost:9080/Attachment1/services/Attachment1"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/AttachmentService.wsdl b/test/resources/wsdl/AttachmentService.wsdl
new file mode 100644
index 0000000..b94b757
--- /dev/null
+++ b/test/resources/wsdl/AttachmentService.wsdl
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions targetNamespace="http://attachment.test.org" xmlns:impl="http://attachment.test.org" xmlns:intf="http://attachment.test.org" xmlns:tns2="http://xml.apache.org/xml-soap" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://attachment.test.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://attachment.test.org" xmlns:intf="http://attachment.test.org" xmlns:tns2="http://xml.apache.org/xml-soap" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <import namespace="http://xml.apache.org/xml-soap"/>
+ <element name="multiAttachment">
+ <complexType>
+ <sequence>
+ <element name="arg_0_0" nillable="true" type="tns2:DataHandler"/>
+ <element name="arg_1_0" nillable="true" type="tns2:DataHandler"/>
+ <element name="arg_2_0" nillable="true" type="tns2:Image"/>
+ <element name="arg_3_0" nillable="true" type="tns2:DataHandler"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="multiAttachmentResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="multiAttachmentReturn" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="nillableAttachment">
+ <complexType>
+ <sequence>
+ <element name="arg_0_1" nillable="true" type="tns2:DataHandler"/>
+ <element name="arg_1_1" nillable="true" type="tns2:Image"/>
+ <element name="arg_2_1" nillable="true" type="tns2:Source"/>
+ <element name="arg_3_1" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="nillableAttachmentResponse">
+ <complexType>
+ <sequence>
+ <element name="nillableAttachmentReturn" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="multiAttachmentResponse">
+
+ <wsdl:part element="impl:multiAttachmentResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="nillableAttachmentRequest">
+
+ <wsdl:part element="impl:nillableAttachment" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="nillableAttachmentResponse">
+
+ <wsdl:part element="impl:nillableAttachmentResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="multiAttachmentRequest">
+
+ <wsdl:part element="impl:multiAttachment" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:portType name="AttachmentService">
+
+ <wsdl:operation name="multiAttachment">
+
+ <wsdl:input message="impl:multiAttachmentRequest" name="multiAttachmentRequest"/>
+
+ <wsdl:output message="impl:multiAttachmentResponse" name="multiAttachmentResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="nillableAttachment">
+
+ <wsdl:input message="impl:nillableAttachmentRequest" name="nillableAttachmentRequest"/>
+
+ <wsdl:output message="impl:nillableAttachmentResponse" name="nillableAttachmentResponse"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="AttachmentServiceSoapBinding" type="impl:AttachmentService">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="multiAttachment">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="multiAttachmentRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="multiAttachmentResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="nillableAttachment">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="nillableAttachmentRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="nillableAttachmentResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="AttachmentServiceService">
+
+ <wsdl:port binding="impl:AttachmentServiceSoapBinding" name="AttachmentService">
+
+ <wsdlsoap:address location="http://localhost:9080/AttachmentService/services/AttachmentService"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/test/resources/wsdl/AxisBench.wsdl b/test/resources/wsdl/AxisBench.wsdl
new file mode 100644
index 0000000..3138179
--- /dev/null
+++ b/test/resources/wsdl/AxisBench.wsdl
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions
+ targetNamespace="http://axisbench.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:intf="http://axisbench.test.apache.org"
+ xmlns:impl="http://axisbench.test.apache.org"
+ xmlns:apachesoap="http://xml.apache.org/xml-soap"
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <wsdl:types>
+ <schema
+ elementFormDefault="qualified"
+ targetNamespace="http://axisbench.test.apache.org"
+ xmlns="http://www.w3.org/2001/XMLSchema">
+ <complexType name="BenchBasicDataType">
+ <sequence>
+ <element name="StringType" type="xsd:string"/>
+ <element name="IntType" type="xsd:int"/>
+ <element name="BooleanType" type="xsd:boolean"/>
+ <element name="DoubleType" type="xsd:double"/>
+ <element name="DateTimeType" type="xsd:dateTime"/>
+ <element name="DateType" type="xsd:date"/>
+ <element name="TimeType" type="xsd:time"/>
+ <element name="Base64BinaryType" type="xsd:base64Binary"/>
+ <element name="ByteType" type="xsd:byte"/>
+ <element name="DecimalType" type="xsd:decimal"/>
+ <element name="FloatType" type="xsd:float"/>
+ <element name="HexBinary" type="xsd:hexBinary"/>
+ <element name="IntegerType" type="xsd:integer"/>
+ <element name="LongType" type="xsd:long"/>
+ <element name="QNameType" type="xsd:QName"/>
+ <element name="ShortType" type="xsd:short"/>
+
+ <!-- Not tested yet
+ -->
+
+ </sequence>
+ </complexType>
+ <complexType name="BenchDataType">
+ <sequence>
+ <element name="count" type="xsd:int"/>
+ <element maxOccurs="unbounded" name="infos" type="impl:BenchBasicDataType"/>
+ </sequence>
+ </complexType>
+
+ <element name="doBenchRequest">
+ <complexType>
+ <sequence>
+ <element name="doBench" type="impl:BenchDataType"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="doBenchRequestResponse">
+ <complexType>
+ <sequence>
+ <element name="doBench" nillable="true" type="impl:BenchDataType"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+ <wsdl:message name="doBenchRequest">
+ <wsdl:part name="parameters" element="intf:doBenchRequest"/>
+ </wsdl:message>
+ <wsdl:message name="doBenchResponse">
+ <wsdl:part name="parameters" element="intf:doBenchRequestResponse"/>
+ </wsdl:message>
+ <wsdl:portType name="AxisBench">
+ <wsdl:operation name="doBenchRequest">
+ <wsdl:input name="doBenchRequest" message="intf:doBenchRequest"/>
+ <wsdl:output name="doBenchResponse" message="intf:doBenchResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="AxisBenchSoapBinding" type="intf:AxisBench">
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="doBenchRequest">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="doBenchRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="doBenchResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="AxisBenchSoapSvc">
+ <wsdl:port name="AxisBenchSoapImpl" binding="intf:AxisBenchSoapBinding">
+ <wsdlsoap:address location="http://localhost:9080/AxisBench/services/AxisBenchSoapImpl"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/BasicAllTest.wsdl b/test/resources/wsdl/BasicAllTest.wsdl
new file mode 100644
index 0000000..b73800c
--- /dev/null
+++ b/test/resources/wsdl/BasicAllTest.wsdl
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="utf-8"?>
+<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/">
+ <s:import namespace="http://soapinterop.org/xsd" />
+
+
+
+
+ <s:element name="echoAll">
+ <s:complexType>
+ <s:sequence>
+ <s:element name="inputAll" type="s1:AllComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+ <s:element name="echoAllResponse">
+ <s:complexType>
+ <s:sequence>
+ <s:element name="return" type="s1:AllComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+
+
+
+ </s:schema>
+
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd">
+ <s:import namespace="http://soapinterop.org/" />
+
+ <s:complexType name="AllComplexType">
+ <s:all>
+ <s:element minOccurs="0" name="IntValue" type="s:int" />
+ <s:element minOccurs="0" name="StringValue" type="s:string" />
+ </s:all>
+ </s:complexType>
+ </s:schema>
+
+ </types>
+
+
+
+ <message name="echoAllSoapIn">
+ <part name="parameters" element="s0:echoAll" />
+ </message>
+ <message name="echoAllSoapOut">
+ <part name="parameters" element="s0:echoAllResponse" />
+ </message>
+
+ <portType name="AllTestSoap">
+
+
+ <operation name="echoAll">
+ <input message="s0:echoAllSoapIn" />
+ <output message="s0:echoAllSoapOut" />
+ </operation>
+
+ </portType>
+
+
+ <binding name="AllTestSoap" type="s0:AllTestSoap">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+ <operation name="echoAll">
+ <soap:operation soapAction="SimpleAllTest#echoAll" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<binding name="AllTestSoap12" type="s0:AllTestSoap">
+ <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+
+ <operation name="echoAll">
+ <soap12:operation soapAction="All#echoAll" style="document" />
+ <input>
+ <soap12:body use="literal" />
+ </input>
+ <output>
+ <soap12:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<service name="AllTest">
+ <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation>
+ <port name="AllTestSoap" binding="s0:AllTestSoap">
+ <soap:address location="http://localhost:90/axis/All" />
+ </port>
+ <port name="AllTestSoap12" binding="s0:AllTestSoap12">
+ <soap12:address location="http://localhost:90/axis/All" />
+ </port>
+ </service>
+</definitions> \ No newline at end of file
diff --git a/test/resources/wsdl/BasicChoice.wsdl b/test/resources/wsdl/BasicChoice.wsdl
new file mode 100644
index 0000000..d04d0c3
--- /dev/null
+++ b/test/resources/wsdl/BasicChoice.wsdl
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="utf-8"?>
+<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/">
+ <s:import namespace="http://soapinterop.org/xsd" />
+
+
+
+
+ <s:element name="echoChoice">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="0" maxOccurs="1" name="inputChoice" type="s1:ChoiceComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+ <s:element name="echoChoiceResponse">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:ChoiceComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+
+
+
+ </s:schema>
+
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd">
+ <s:import namespace="http://soapinterop.org/" />
+
+ <s:complexType name="ChoiceComplexType">
+ <s:sequence>
+ <s:choice minOccurs="1" maxOccurs="1">
+ <s:element minOccurs="0" maxOccurs="1" name="name0" type="s:string" />
+ <s:element minOccurs="0" maxOccurs="1" name="name1" type="s:string" />
+ </s:choice>
+ </s:sequence>
+ </s:complexType>
+ </s:schema>
+
+ </types>
+
+
+
+ <message name="echoChoiceSoapIn">
+ <part name="parameters" element="s0:echoChoice" />
+ </message>
+ <message name="echoChoiceSoapOut">
+ <part name="parameters" element="s0:echoChoiceResponse" />
+ </message>
+
+ <portType name="ChoiceTestSoap">
+
+
+ <operation name="echoChoice">
+ <input message="s0:echoChoiceSoapIn" />
+ <output message="s0:echoChoiceSoapOut" />
+ </operation>
+
+ </portType>
+
+
+ <binding name="ChoiceTestSoap" type="s0:ChoiceTestSoap">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+ <operation name="echoChoice">
+ <soap:operation soapAction="Choice#echoChoice" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<binding name="ChoiceTestSoap12" type="s0:ChoiceTestSoap">
+ <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+
+ <operation name="echoChoice">
+ <soap12:operation soapAction="Choice#echoChoice" style="document" />
+ <input>
+ <soap12:body use="literal" />
+ </input>
+ <output>
+ <soap12:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<service name="ChoiceTest">
+ <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation>
+ <port name="ChoiceTestSoap" binding="s0:ChoiceTestSoap">
+ <soap:address location="http://localhost:90/axis/Choice" />
+ </port>
+ <port name="ChoiceTestSoap12" binding="s0:ChoiceTestSoap12">
+ <soap12:address location="http://localhost:90/axis/Choice" />
+ </port>
+ </service>
+</definitions> \ No newline at end of file
diff --git a/test/resources/wsdl/Calculator.wsdl b/test/resources/wsdl/Calculator.wsdl
new file mode 100644
index 0000000..a485386
--- /dev/null
+++ b/test/resources/wsdl/Calculator.wsdl
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://localhost/axis/Calculator"
+xmlns="http://schemas.xmlsoap.org/wsdl/"
+xmlns:apachesoap="http://xml.apache.org/xml-soap"
+xmlns:impl="http://localhost/axis/Calculator"
+xmlns:intf="http://localhost/axis/Calculator"
+xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
+xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:message name="addRequest">
+ <wsdl:part name="in0" type="xsd:int"/>
+ <wsdl:part name="in1" type="xsd:int"/>
+ </wsdl:message>
+ <wsdl:message name="addResponse">
+ <wsdl:part name="addReturn" type="xsd:int"/>
+ </wsdl:message>
+ <wsdl:message name="subResponse">
+ <wsdl:part name="subReturn" type="xsd:int"/>
+ </wsdl:message>
+ <wsdl:message name="subRequest">
+ <wsdl:part name="in0" type="xsd:int"/>
+ <wsdl:part name="in1" type="xsd:int"/>
+ </wsdl:message>
+ <wsdl:message name="mulRequest">
+ <wsdl:part name="in0" type="xsd:int"/>
+ <wsdl:part name="in1" type="xsd:int"/>
+ </wsdl:message>
+ <wsdl:message name="mulResponse">
+ <wsdl:part name="mulReturn" type="xsd:int"/>
+ </wsdl:message>
+ <wsdl:message name="divRequest">
+ <wsdl:part name="in0" type="xsd:int"/>
+ <wsdl:part name="in1" type="xsd:int"/>
+ </wsdl:message>
+ <wsdl:message name="divResponse">
+ <wsdl:part name="divReturn" type="xsd:int"/>
+ </wsdl:message>
+ <wsdl:portType name="Calculator">
+ <wsdl:operation name="add" parameterOrder="in0 in1">
+ <wsdl:input message="intf:addRequest" name="addRequest"/>
+ <wsdl:output message="intf:addResponse" name="addResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="sub" parameterOrder="in0 in1">
+ <wsdl:input message="intf:subRequest" name="subRequest"/>
+ <wsdl:output message="intf:subResponse" name="subResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="mul" parameterOrder="in0 in1">
+ <wsdl:input message="intf:mulRequest" name="mulRequest"/>
+ <wsdl:output message="intf:mulResponse" name="mulResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="div" parameterOrder="in0 in1">
+ <wsdl:input message="intf:divRequest" name="divRequest"/>
+ <wsdl:output message="intf:divResponse" name="divResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="CalculatorSoapBinding" type="intf:Calculator">
+ <wsdlsoap:binding style="rpc"
+ transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="add">
+ <wsdlsoap:operation soapAction="Calculator#add"/>
+ <wsdl:input name="addRequest">
+ <wsdlsoap:body
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://localhost/axis/Calculator"
+ use="encoded"/>
+ </wsdl:input>
+ <wsdl:output name="addResponse">
+ <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://localhost/axis/Calculator"
+ use="encoded"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="sub">
+ <wsdlsoap:operation soapAction="Calculator#sub"/>
+ <wsdl:input name="subRequest">
+ <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://localhost/axis/Calculator"
+ use="encoded"/>
+ </wsdl:input>
+ <wsdl:output name="subResponse">
+ <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://localhost/axis/Calculator"
+ use="encoded"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="mul">
+ <wsdlsoap:operation soapAction="Calculator#mul"/>
+ <wsdl:input name="mulRequest">
+ <wsdlsoap:body
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://localhost/axis/Calculator"
+ use="encoded"/>
+ </wsdl:input>
+ <wsdl:output name="mulResponse">
+ <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://localhost/axis/Calculator"
+ use="encoded"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="div">
+ <wsdlsoap:operation soapAction="Calculator#div"/>
+ <wsdl:input name="divRequest">
+ <wsdlsoap:body
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://localhost/axis/Calculator"
+ use="encoded"/>
+ </wsdl:input>
+ <wsdl:output name="divResponse">
+ <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://localhost/axis/Calculator"
+ use="encoded"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="Calculator">
+ <wsdl:port binding="intf:CalculatorSoapBinding" name="Calculator">
+ <wsdlsoap:address location="http://localhost/axis/Calculator"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/CalculatorDoc.wsdl b/test/resources/wsdl/CalculatorDoc.wsdl
new file mode 100644
index 0000000..5600279
--- /dev/null
+++ b/test/resources/wsdl/CalculatorDoc.wsdl
@@ -0,0 +1,255 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://localhost/axis/Calculator" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost/axis/Calculator" xmlns:intf="http://localhost/axis/Calculator" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://localhost/axis/Calculator" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost/axis/Calculator" xmlns:intf="http://localhost/axis/Calculator" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <element name="add">
+ <complexType>
+ <sequence>
+ <element name="arg_0_0" type="xsd:int"/>
+ <element name="arg_1_0" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="addResponse">
+ <complexType>
+ <sequence>
+ <element name="addReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="sub">
+ <complexType>
+ <sequence>
+ <element name="arg_0_1" type="xsd:int"/>
+ <element name="arg_1_1" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="subResponse">
+ <complexType>
+ <sequence>
+ <element name="subReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="mul">
+ <complexType>
+ <sequence>
+ <element name="arg_0_2" type="xsd:int"/>
+ <element name="arg_1_2" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="mulResponse">
+ <complexType>
+ <sequence>
+ <element name="mulReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="div">
+ <complexType>
+ <sequence>
+ <element name="arg_0_3" type="xsd:int"/>
+ <element name="arg_1_3" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="divResponse">
+ <complexType>
+ <sequence>
+ <element name="divReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="subResponse">
+
+ <wsdl:part element="impl:subResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="mulResponse">
+
+ <wsdl:part element="impl:mulResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="subRequest">
+
+ <wsdl:part element="impl:sub" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="divRequest">
+
+ <wsdl:part element="impl:div" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="divResponse">
+
+ <wsdl:part element="impl:divResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="mulRequest">
+
+ <wsdl:part element="impl:mul" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="addResponse">
+
+ <wsdl:part element="impl:addResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="addRequest">
+
+ <wsdl:part element="impl:add" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:portType name="Calculator">
+
+ <wsdl:operation name="add">
+
+ <wsdl:input message="impl:addRequest" name="addRequest"/>
+
+ <wsdl:output message="impl:addResponse" name="addResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="sub">
+
+ <wsdl:input message="impl:subRequest" name="subRequest"/>
+
+ <wsdl:output message="impl:subResponse" name="subResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="mul">
+
+ <wsdl:input message="impl:mulRequest" name="mulRequest"/>
+
+ <wsdl:output message="impl:mulResponse" name="mulResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="div">
+
+ <wsdl:input message="impl:divRequest" name="divRequest"/>
+
+ <wsdl:output message="impl:divResponse" name="divResponse"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="CalculatorSoapBinding" type="impl:Calculator">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="add">
+
+ <wsdlsoap:operation soapAction="Calculator#add"/>
+
+ <wsdl:input name="addRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="addResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="sub">
+
+ <wsdlsoap:operation soapAction="Calculator#sub"/>
+
+ <wsdl:input name="subRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="subResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="mul">
+
+ <wsdlsoap:operation soapAction="Calculator#mul"/>
+
+ <wsdl:input name="mulRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="mulResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="div">
+
+ <wsdlsoap:operation soapAction="Calculator#div"/>
+
+ <wsdl:input name="divRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="divResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="Calculator">
+
+ <wsdl:port binding="impl:CalculatorSoapBinding" name="Calculator">
+
+ <wsdlsoap:address location="http://localhost/axis/Calculator"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/test/resources/wsdl/Choice.wsdl b/test/resources/wsdl/Choice.wsdl
new file mode 100644
index 0000000..1b52f8c
--- /dev/null
+++ b/test/resources/wsdl/Choice.wsdl
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="utf-8"?>
+<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/">
+ <s:import namespace="http://soapinterop.org/xsd" />
+
+
+
+
+ <s:element name="echoChoice">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="0" maxOccurs="1" name="inputChoice" type="s1:ChoiceComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+ <s:element name="echoChoiceResponse">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:ChoiceComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+
+
+
+ </s:schema>
+
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd">
+ <s:import namespace="http://soapinterop.org/" />
+
+ <s:complexType name="ChoiceComplexType">
+ <s:sequence>
+ <s:choice minOccurs="1" maxOccurs="1">
+ <s:element minOccurs="0" maxOccurs="1" name="name0" type="s:string" />
+ <s:element minOccurs="0" maxOccurs="1" name="name1" type="s:string" />
+ </s:choice>
+ </s:sequence>
+ </s:complexType>
+ </s:schema>
+
+ </types>
+
+
+
+ <message name="echoChoiceSoapIn">
+ <part name="parameters" element="s0:echoChoice" />
+ </message>
+ <message name="echoChoiceSoapOut">
+ <part name="parameters" element="s0:echoChoiceResponse" />
+ </message>
+
+ <portType name="ChoiceTestSoap">
+
+
+ <operation name="echoChoice">
+ <input message="s0:echoChoiceSoapIn" />
+ <output message="s0:echoChoiceSoapOut" />
+ </operation>
+
+ </portType>
+
+
+ <binding name="ChoiceTestSoap" type="s0:ChoiceTestSoap">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+ <operation name="echoChoice">
+ <soap:operation soapAction="Choice#echoChoice" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<binding name="ChoiceTestSoap12" type="s0:ChoiceTestSoap">
+ <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+
+ <operation name="echoChoice">
+ <soap12:operation soapAction="Choice#echoChoice" style="document" />
+ <input>
+ <soap12:body use="literal" />
+ </input>
+ <output>
+ <soap12:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<service name="ChoiceTest">
+ <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation>
+ <port name="ChoiceTestSoap" binding="s0:ChoiceTestSoap">
+ <soap:address location="http://localhost:90/axis/Choice" />
+ </port>
+ <port name="ChoiceTestSoap12" binding="s0:ChoiceTestSoap12">
+ <soap12:address location="http://localhost:90/axis/Choice" />
+ </port>
+ </service>
+</definitions> \ No newline at end of file
diff --git a/test/resources/wsdl/CombinedAllTest.wsdl b/test/resources/wsdl/CombinedAllTest.wsdl
new file mode 100644
index 0000000..be07bc5
--- /dev/null
+++ b/test/resources/wsdl/CombinedAllTest.wsdl
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/">
+ <s:import namespace="http://soapinterop.org/xsd" />
+
+
+
+
+ <s:element name="echoAll">
+ <s:complexType>
+ <s:sequence>
+ <s:element name="inputAll" type="s1:AllComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+ <s:element name="echoAllResponse">
+ <s:complexType>
+ <s:sequence>
+ <s:element name="return" type="s1:AllComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+
+
+
+ </s:schema>
+
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd">
+ <s:import namespace="http://soapinterop.org/" />
+
+ <s:complexType name="AllComplexType">
+ <s:sequence>
+ <s:element minOccurs="1" maxOccurs="1" name="NonAllIntValue" type="s:int" />
+
+ <s:element name="Value0" type="s:int" />
+ <s:element minOccurs="0" name="Value1" type="s:int" />
+ <s:element minOccurs="0" name="Value2" type="s:string" />
+
+ <s:element minOccurs="1" maxOccurs="1" name="NonAllStringValue" type="s:string" />
+ </s:sequence>
+ </s:complexType>
+ </s:schema>
+
+ </types>
+
+
+
+ <message name="echoAllSoapIn">
+ <part name="parameters" element="s0:echoAll" />
+ </message>
+ <message name="echoAllSoapOut">
+ <part name="parameters" element="s0:echoAllResponse" />
+ </message>
+
+ <portType name="AllTestSoap">
+
+
+ <operation name="echoAll">
+ <input message="s0:echoAllSoapIn" />
+ <output message="s0:echoAllSoapOut" />
+ </operation>
+
+ </portType>
+
+
+ <binding name="AllTestSoap" type="s0:AllTestSoap">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+ <operation name="echoAll">
+ <soap:operation soapAction="SimpleAllTest#echoAll" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<binding name="AllTestSoap12" type="s0:AllTestSoap">
+ <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+
+ <operation name="echoAll">
+ <soap12:operation soapAction="All#echoAll" style="document" />
+ <input>
+ <soap12:body use="literal" />
+ </input>
+ <output>
+ <soap12:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<service name="AllTest">
+ <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation>
+ <port name="AllTestSoap" binding="s0:AllTestSoap">
+ <soap:address location="http://localhost:90/axis/All" />
+ </port>
+ <port name="AllTestSoap12" binding="s0:AllTestSoap12">
+ <soap12:address location="http://localhost:90/axis/All" />
+ </port>
+ </service>
+</definitions> \ No newline at end of file
diff --git a/test/resources/wsdl/CombinedChoice.wsdl b/test/resources/wsdl/CombinedChoice.wsdl
new file mode 100644
index 0000000..f11939a
--- /dev/null
+++ b/test/resources/wsdl/CombinedChoice.wsdl
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="utf-8"?>
+<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/">
+ <s:import namespace="http://soapinterop.org/xsd" />
+
+
+
+
+ <s:element name="echoChoice">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="0" maxOccurs="1" name="inputChoice" type="s1:ChoiceComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+ <s:element name="echoChoiceResponse">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:ChoiceComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+
+
+
+ </s:schema>
+
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd">
+ <s:import namespace="http://soapinterop.org/" />
+
+ <s:complexType name="ChoiceComplexType">
+ <s:sequence>
+
+ <s:element minOccurs="1" maxOccurs="1" name="NonChoiceIntValue" type="s:int" />
+
+ <s:choice minOccurs="1" maxOccurs="1">
+ <s:element minOccurs="0" maxOccurs="1" name="IntValue" type="s:int" />
+ <s:element minOccurs="0" maxOccurs="1" name="StringValue" type="s:string" />
+ </s:choice>
+
+ <s:element minOccurs="1" maxOccurs="1" name="NonChoiceStringValue" type="s:string" />
+
+ </s:sequence>
+ </s:complexType>
+ </s:schema>
+
+ </types>
+
+
+
+ <message name="echoChoiceSoapIn">
+ <part name="parameters" element="s0:echoChoice" />
+ </message>
+ <message name="echoChoiceSoapOut">
+ <part name="parameters" element="s0:echoChoiceResponse" />
+ </message>
+
+ <portType name="ChoiceTestSoap">
+
+
+ <operation name="echoChoice">
+ <input message="s0:echoChoiceSoapIn" />
+ <output message="s0:echoChoiceSoapOut" />
+ </operation>
+
+ </portType>
+
+
+ <binding name="ChoiceTestSoap" type="s0:ChoiceTestSoap">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+ <operation name="echoChoice">
+ <soap:operation soapAction="SimpleChoiceTest#echoChoice" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<binding name="ChoiceTestSoap12" type="s0:ChoiceTestSoap">
+ <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+
+ <operation name="echoChoice">
+ <soap12:operation soapAction="Choice#echoChoice" style="document" />
+ <input>
+ <soap12:body use="literal" />
+ </input>
+ <output>
+ <soap12:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<service name="ChoiceTest">
+ <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation>
+ <port name="ChoiceTestSoap" binding="s0:ChoiceTestSoap">
+ <soap:address location="http://localhost:90/axis/Choice" />
+ </port>
+ <port name="ChoiceTestSoap12" binding="s0:ChoiceTestSoap12">
+ <soap12:address location="http://localhost:90/axis/Choice" />
+ </port>
+ </service>
+</definitions> \ No newline at end of file
diff --git a/test/resources/wsdl/ComplexLists.wsdl b/test/resources/wsdl/ComplexLists.wsdl
new file mode 100644
index 0000000..21674dc
--- /dev/null
+++ b/test/resources/wsdl/ComplexLists.wsdl
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://complexlist.test.apache.org" xmlns:impl="http://complexlist.test.apache.org" xmlns:intf="http://complexlist.test.apache.org" xmlns:tns2="http://complexlistservice.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://complexlistservice.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://complexlistImpl.test.apache.org" xmlns:intf="http://complexlistIntf.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <complexType name="m_list">
+ <sequence>
+ <element maxOccurs="unbounded" name="item" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ <complexType name="attrlist">
+ <sequence>
+ <element maxOccurs="unbounded" name="item" nillable="true" type="tns2:namepair"/>
+ </sequence>
+ </complexType>
+ <complexType name="namepair">
+ <sequence>
+ <element name="m_list" nillable="true" type="tns2:m_list"/>
+ <element name="name" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ <complexType name="attrlisterr">
+ <sequence>
+ <element name="attrlist" nillable="true" type="tns2:attrlist"/>
+ <element name="errorcode" type="xsd:int"/>
+ <element name="errortext" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </schema>
+ <schema elementFormDefault="qualified" targetNamespace="http://complexlist.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://complexlistImpl2.test.apache.org" xmlns:intf="http://complexlistIntf2.test.apache.org" xmlns:tns2="http://complexlistservice.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <import namespace="http://complexlistservice.test.apache.org"/>
+ <element name="multilist">
+ <complexType>
+ <sequence>
+ <element name="arg_0_0" nillable="true" type="tns2:m_list"/>
+ <element name="arg_1_0" nillable="true" type="tns2:attrlist"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="multilistResponse">
+ <complexType>
+ <sequence>
+ <element name="multilistReturn" nillable="true" type="tns2:attrlisterr"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="multilistnil">
+ <complexType>
+ <sequence>
+ <element name="arg_0_3" nillable="true" type="tns2:m_list"/>
+ <element name="arg_1_3" nillable="true" type="tns2:attrlist"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="multilistnilResponse">
+ <complexType>
+ <sequence>
+ <element name="multilistnilReturn" nillable="true" type="tns2:attrlisterr"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="complexlist">
+ <complexType>
+ <sequence>
+ <element name="arg_0_2" nillable="true" type="tns2:attrlist"/>
+ <element name="arg_1_2" nillable="true" type="xsd:string"/>
+ <element name="arg_2_2" nillable="true" type="tns2:attrlist"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="complexlistResponse">
+ <complexType>
+ <sequence>
+ <element name="complexlistReturn" nillable="true" type="tns2:attrlisterr"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="complexlistResponse">
+
+ <wsdl:part element="impl:complexlistResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="complexlistRequest">
+
+ <wsdl:part element="impl:complexlist" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="multilistRequest">
+ <wsdl:part element="impl:multilist" name="parameters"/>
+ </wsdl:message>
+
+ <wsdl:message name="multilistResponse">
+ <wsdl:part element="impl:multilistResponse" name="parameters"/>
+ </wsdl:message>
+
+ <wsdl:message name="multilistnilRequest">
+ <wsdl:part element="impl:multilistnil" name="parameters"/>
+ </wsdl:message>
+
+ <wsdl:message name="multilistnilResponse">
+ <wsdl:part element="impl:multilistnilResponse" name="parameters"/>
+ </wsdl:message>
+
+ <wsdl:portType name="ComplexLists">
+
+ <wsdl:operation name="multilist">
+ <wsdl:input message="impl:multilistRequest" name="multilistRequest"/>
+ <wsdl:output message="impl:multilistResponse" name="multilistResponse"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="multilistnil">
+ <wsdl:input message="impl:multilistnilRequest" name="multilistnilRequest"/>
+ <wsdl:output message="impl:multilistnilResponse" name="multilistnilResponse"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="complexlist">
+
+ <wsdl:input message="impl:complexlistRequest" name="complexlistRequest"/>
+
+ <wsdl:output message="impl:complexlistResponse" name="complexlistResponse"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="ComplexListsSoapBinding" type="impl:ComplexLists">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="multilist">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="multilistRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="multilistResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="multilistnil">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="multilistnilRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="multilistnilResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="complexlist">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="complexlistRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="complexlistResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="ComplexListsService">
+
+ <wsdl:port binding="impl:ComplexListsSoapBinding" name="ComplexLists">
+
+ <wsdlsoap:address location="http://localhost:9080/ComplexLists/services/ComplexLists"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
+
diff --git a/test/resources/wsdl/ComplexTypeAll.wsdl b/test/resources/wsdl/ComplexTypeAll.wsdl
new file mode 100644
index 0000000..2703344
--- /dev/null
+++ b/test/resources/wsdl/ComplexTypeAll.wsdl
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="Service"
+ targetNamespace="http://complextype.test.apache.org"
+ xmlns:tns="http://complextype.test.apache.org"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <types>
+ <xsd:schema elementFormDefault="qualified"
+ targetNamespace="http://complextype.test.apache.org"
+ xmlns:tns="http://complextype.test.apache.org">
+ <xsd:element name="myOperation">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="aType" type="tns:aRecord"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="aRecord">
+ <xsd:all>
+ <xsd:element name="field1" type="xsd:string" nillable="true"/>
+ <xsd:element name="field2" type="xsd:string" fixed="field2Value"/>
+ <xsd:element name="field3" type="xsd:string" nillable="false"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:element name="myOperationResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="result" type="xsd:boolean"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </types>
+ <message name="request">
+ <part name="parameters" element="tns:myOperation"/>
+ </message>
+ <message name="response">
+ <part name="parameters" element="tns:myOperationResponse"/>
+ </message>
+ <portType name="operations">
+ <operation name="myOperation">
+ <input message="tns:request"/>
+ <output message="tns:response"/>
+ </operation>
+ </portType>
+ <binding name="operationsBinding" type="tns:operations">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+ <operation name="myOperation">
+ <soap:operation soapAction="http://complextype.test.apache.org"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="TestServices">
+ <port name="Service" binding="tns:operationsBinding">
+ <soap:address location="http://localhost:9080/ComplexTypeAll/services/Service"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/DataHandlerService.wsdl b/test/resources/wsdl/DataHandlerService.wsdl
new file mode 100644
index 0000000..41fcec4
--- /dev/null
+++ b/test/resources/wsdl/DataHandlerService.wsdl
@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions targetNamespace="http://datahandler.attachment.test.org" xmlns:impl="http://datahandler.attachment.test.org" xmlns:intf="http://datahandler.attachment.test.org" xmlns:tns2="http://xml.apache.org/xml-soap" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://datahandler.attachment.test.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://datahandler.attachment.test.org" xmlns:intf="http://datahandler.attachment.test.org" xmlns:tns2="http://xml.apache.org/xml-soap" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <import namespace="http://xml.apache.org/xml-soap"/>
+ <element name="getContentType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_0" nillable="true" type="tns2:DataHandler"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="getContentTypeResponse">
+ <complexType>
+ <sequence>
+ <element name="getContentTypeReturn" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="saveContent">
+ <complexType>
+ <sequence>
+ <element name="arg_0_1" nillable="true" type="tns2:DataHandler"/>
+ <element name="arg_1_1" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="saveContentResponse">
+ <complexType>
+ <sequence>
+ <element name="saveContentReturn" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoContent">
+ <complexType>
+ <sequence>
+ <element name="arg_0_2" nillable="true" type="tns2:DataHandler"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoContentResponse">
+ <complexType>
+ <sequence>
+ <element name="echoContentReturn" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="getNoOfBytes">
+ <complexType>
+ <sequence>
+ <element name="arg_0_3" nillable="true" type="tns2:DataHandler"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="getNoOfBytesResponse">
+ <complexType>
+ <sequence>
+ <element name="getNoOfBytesReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="executeClass">
+ <complexType>
+ <sequence>
+ <element name="arg_0_4" nillable="true" type="tns2:DataHandler"/>
+ <element name="arg_1_4" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="executeClassResponse">
+ <complexType>
+ <sequence>
+ <element name="executeClassReturn" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="echoContentRequest">
+
+ <wsdl:part element="impl:echoContent" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="getContentTypeRequest">
+
+ <wsdl:part element="impl:getContentType" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="getContentTypeResponse">
+
+ <wsdl:part element="impl:getContentTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="executeClassResponse">
+
+ <wsdl:part element="impl:executeClassResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="getNoOfBytesResponse">
+
+ <wsdl:part element="impl:getNoOfBytesResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="executeClassRequest">
+
+ <wsdl:part element="impl:executeClass" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="saveContentResponse">
+
+ <wsdl:part element="impl:saveContentResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="saveContentRequest">
+
+ <wsdl:part element="impl:saveContent" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="getNoOfBytesRequest">
+
+ <wsdl:part element="impl:getNoOfBytes" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoContentResponse">
+
+ <wsdl:part element="impl:echoContentResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:portType name="DataHandlerService">
+
+ <wsdl:operation name="getContentType">
+
+ <wsdl:input message="impl:getContentTypeRequest" name="getContentTypeRequest"/>
+
+ <wsdl:output message="impl:getContentTypeResponse" name="getContentTypeResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="saveContent">
+
+ <wsdl:input message="impl:saveContentRequest" name="saveContentRequest"/>
+
+ <wsdl:output message="impl:saveContentResponse" name="saveContentResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoContent">
+
+ <wsdl:input message="impl:echoContentRequest" name="echoContentRequest"/>
+
+ <wsdl:output message="impl:echoContentResponse" name="echoContentResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="getNoOfBytes">
+
+ <wsdl:input message="impl:getNoOfBytesRequest" name="getNoOfBytesRequest"/>
+
+ <wsdl:output message="impl:getNoOfBytesResponse" name="getNoOfBytesResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="executeClass">
+
+ <wsdl:input message="impl:executeClassRequest" name="executeClassRequest"/>
+
+ <wsdl:output message="impl:executeClassResponse" name="executeClassResponse"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="DataHandlerServiceSoapBinding" type="impl:DataHandlerService">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="getContentType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="getContentTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="getContentTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="saveContent">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="saveContentRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="saveContentResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoContent">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="echoContentRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="echoContentResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="getNoOfBytes">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="getNoOfBytesRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="getNoOfBytesResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="executeClass">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="executeClassRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="executeClassResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="DataHandlerServiceService">
+
+ <wsdl:port binding="impl:DataHandlerServiceSoapBinding" name="DataHandlerService">
+
+ <wsdlsoap:address location="http://localhost:9080/DataHandlerService/services/DataHandlerService"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/test/resources/wsdl/Enumeration.wsdl b/test/resources/wsdl/Enumeration.wsdl
new file mode 100644
index 0000000..15f72ce
--- /dev/null
+++ b/test/resources/wsdl/Enumeration.wsdl
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions targetNamespace="http://enumeration.test.apache.org" xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://enumeration.test.apache.org" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://enumeration.test.apache.org" xmlns:tns="http://enumeration.test.apache.org">
+
+ <xsd:element name="getInput">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="type" maxOccurs="1" minOccurs="0" type="tns:Type1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="getInputResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="type" maxOccurs="1" minOccurs="0" type="tns:Type1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="Type1">
+ <xsd:sequence>
+ <xsd:element name="enum_int" maxOccurs="1" minOccurs="0" type="tns:TypeInt" />
+ <xsd:element name="enum_string" maxOccurs="1" minOccurs="0" type="tns:TypeString" />
+ </xsd:sequence>
+ <xsd:attribute name="att_enum_int" type="tns:TypeInt"/>
+ <xsd:attribute name="att_enum_string" type="tns:TypeString"/>
+ <xsd:attribute name="att_enum_kind">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="CHEQUE" />
+ <xsd:enumeration value="CREDIT_CARD" />
+ <xsd:enumeration value="TRANSFER" />
+ <xsd:enumeration value="WITHDRAWAL" />
+ <xsd:enumeration value="AUTOMATIC" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:simpleType name="TypeInt">
+ <xsd:restriction base="xsd:int">
+ <xsd:enumeration value="0" />
+ <xsd:enumeration value="1" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="TypeString">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="one" />
+ <xsd:enumeration value="two" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ </xsd:schema>
+ </types>
+
+
+ <message name="input">
+ <part name="parameters" element="tns:getInput" />
+ </message>
+
+ <message name="output">
+ <part name="parameters" element="tns:getInputResponse" />
+ </message>
+
+ <portType name="EnumerationWS">
+ <operation name="getInput">
+ <input message="tns:input" />
+ <output message="tns:output" />
+ </operation>
+ </portType>
+
+ <binding name="EnumerationWSBinding" type="tns:EnumerationWS">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="getInput">
+ <soap:operation />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ </operation>
+ </binding>
+
+ <service name="EnumerationWSService">
+ <port name="sampleWS" binding="tns:EnumerationWSBinding">
+ <soap:address location="http://localhost:9080/Enumeration/services/sampleWS" />
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/ExceptionTest.wsdl b/test/resources/wsdl/ExceptionTest.wsdl
new file mode 100644
index 0000000..557ed0f
--- /dev/null
+++ b/test/resources/wsdl/ExceptionTest.wsdl
@@ -0,0 +1,97 @@
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://soapinterop.org/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" targetNamespace="http://soapinterop.org/wsdl">
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://soapinterop.org/types">
+ <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="DivByZeroStruct">
+ <sequence>
+ <element name="varString" type="xsd:string"/>
+ <element name="varInt" type="xsd:int"/>
+ <element name="varFloat" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ <complexType name="SpecialDetailStruct">
+ <sequence>
+ <element name="varString" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ <complexType name="OutOfBoundStruct">
+ <sequence>
+ <element name="varString" type="xsd:string"/>
+ <element name="varInt" type="xsd:int"/>
+ <element name="specialDetail" type="tns:SpecialDetailStruct"/>
+ </sequence>
+ </complexType>
+ </schema>
+ </types>
+ <message name="DivByZeroFault">
+ <part name="faultstruct1" type="ns2:DivByZeroStruct"/>
+ </message>
+ <message name="OutOfBoundFault">
+ <part name="faultstruct1" type="ns2:OutOfBoundStruct"/>
+ </message>
+ <message name="SpecialDetailFault">
+ <part name="faultstruct1" type="ns2:SpecialDetailStruct"/>
+ </message>
+ <message name="divRequest">
+ <part name="int0" type="xsd:int"/>
+ <part name="int1" type="xsd:int"/>
+ </message>
+ <message name="divResponse">
+ <part name="addReturn" type="xsd:int"/>
+ </message>
+ <portType name="MathOps">
+ <operation name="div" parameterOrder ="int0 int1">
+ <input message="tns:divRequest"/>
+ <output message="tns:divResponse"/>
+ <fault name="DivByZero" message="tns:DivByZeroFault"/>
+ <fault name="OutOfBound" message="tns:OutOfBoundFault"/>
+ <fault name="NormalDetail" message="tns:SpecialDetailFault"/>
+ </operation>
+ </portType>
+ <binding name="MathOpsBinding" type="tns:MathOps">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="div">
+ <soap:operation soapAction="MathOps#div"/>
+ <input name="divRequest">
+ <soap:body
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://localhost/axis/MathOps"
+ use="encoded"/>
+ </input>
+ <output name="divResponse">
+ <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://localhost/axis/MathOps"
+ use="encoded"/>
+ </output>
+ <fault name="DivByZero">
+ <soap:fault name="DivByZero" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soapinterop.org/wsdl"/>
+ </fault>
+ <fault name="OutOfBound">
+ <soap:fault name="OutOfBound" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soapinterop.org/wsdl"/>
+ </fault>
+ <fault name="NormalDetail">
+ <soap:fault name="NormalDetail" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soapinterop.org/wsdl"/>
+ </fault>
+ </operation>
+ </binding>
+ <service name="MathOpsService">
+ <port name="MathOps" binding="tns:MathOpsBinding">
+ <soap:address location="http://localhost/axis/MathOps"/>
+ </port>
+ </service>
+ <!-- Fault messages -->
+</definitions>
diff --git a/test/resources/wsdl/ExceptionTestDoc.wsdl b/test/resources/wsdl/ExceptionTestDoc.wsdl
new file mode 100644
index 0000000..e51b20f
--- /dev/null
+++ b/test/resources/wsdl/ExceptionTestDoc.wsdl
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://soapinterop.org/wsdl" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org/wsdl" xmlns:intf="http://soapinterop.org/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/wsdl" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org/wsdl" xmlns:intf="http://soapinterop.org/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <element name="div">
+ <complexType>
+ <sequence>
+ <element name="arg_0_0" type="xsd:int"/>
+ <element name="arg_1_0" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="divResponse">
+ <complexType>
+ <sequence>
+ <element name="divReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <complexType name="OutOfBoundStruct">
+ <sequence>
+ <element name="varString" nillable="true" type="xsd:string"/>
+ <element name="varInt" type="xsd:int"/>
+ <element name="specialDetail" nillable="true" type="impl:SpecialDetailStruct"/>
+ </sequence>
+ </complexType>
+ <complexType name="SpecialDetailStruct">
+ <sequence>
+ <element name="varString" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ <element name="OutOfBoundStruct" nillable="true" type="impl:OutOfBoundStruct"/>
+ <complexType name="DivByZeroStruct">
+ <sequence>
+ <element name="varString" nillable="true" type="xsd:string"/>
+ <element name="varInt" type="xsd:int"/>
+ <element name="varFloat" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ <element name="DivByZeroStruct" nillable="true" type="impl:DivByZeroStruct"/>
+ <element name="SpecialDetailStruct" nillable="true" type="impl:SpecialDetailStruct"/>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="OutOfBoundStruct">
+
+ <wsdl:part element="impl:OutOfBoundStruct" name="fault"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="divRequest">
+
+ <wsdl:part element="impl:div" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="divResponse">
+
+ <wsdl:part element="impl:divResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="DivByZeroStruct">
+
+ <wsdl:part element="impl:DivByZeroStruct" name="fault"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="SpecialDetailStruct">
+
+ <wsdl:part element="impl:SpecialDetailStruct" name="fault"/>
+
+ </wsdl:message>
+
+ <wsdl:portType name="MathOps">
+
+ <wsdl:operation name="div">
+
+ <wsdl:input message="impl:divRequest" name="divRequest"/>
+
+ <wsdl:output message="impl:divResponse" name="divResponse"/>
+
+ <wsdl:fault message="impl:DivByZeroStruct" name="DivByZeroStruct"/>
+
+ <wsdl:fault message="impl:SpecialDetailStruct" name="SpecialDetailStruct"/>
+
+ <wsdl:fault message="impl:OutOfBoundStruct" name="OutOfBoundStruct"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="MathOpsSoapBinding" type="impl:MathOps">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="div">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="divRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="divResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ <wsdl:fault name="DivByZeroStruct">
+
+ <wsdlsoap:fault name="DivByZeroStruct" use="literal"/>
+
+ </wsdl:fault>
+
+ <wsdl:fault name="SpecialDetailStruct">
+
+ <wsdlsoap:fault name="SpecialDetailStruct" use="literal"/>
+
+ </wsdl:fault>
+
+ <wsdl:fault name="OutOfBoundStruct">
+
+ <wsdlsoap:fault name="OutOfBoundStruct" use="literal"/>
+
+ </wsdl:fault>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="MathOpsService">
+
+ <wsdl:port binding="impl:MathOpsSoapBinding" name="MathOps">
+
+ <wsdlsoap:address location="http://localhost/axis/MathOps"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/test/resources/wsdl/ExtensibilityQuery.wsdl b/test/resources/wsdl/ExtensibilityQuery.wsdl
new file mode 100644
index 0000000..27a2738
--- /dev/null
+++ b/test/resources/wsdl/ExtensibilityQuery.wsdl
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+
+<definitions name="ExtensibilityQuery" targetNamespace="urn:ExtensibilityQuery"
+
+xmlns="http://schemas.xmlsoap.org/wsdl/"
+
+xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+
+xmlns:tns="urn:ExtensibilityQuery" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <types>
+
+ <xsd:schema attributeFormDefault="qualified"
+
+ elementFormDefault="qualified" targetNamespace="urn:ExtensibilityQuery">
+
+
+
+ <xsd:complexType name="ExtensibilityType">
+
+ <xsd:sequence>
+
+ <xsd:any namespace="##any"/>
+
+ </xsd:sequence>
+
+ </xsd:complexType>
+
+
+
+ <xsd:element name="query">
+
+ <xsd:complexType>
+
+ <xsd:sequence>
+
+ <xsd:any namespace="##any" />
+
+ </xsd:sequence>
+
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+
+ <xsd:element name="queryResponse">
+
+ <xsd:complexType>
+
+ <xsd:sequence>
+
+ <xsd:any namespace="##any" />
+
+ </xsd:sequence>
+
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+
+ </xsd:schema>
+
+ </types>
+
+
+
+ <message name="queryIn">
+
+ <part element="tns:query" name="parameters" />
+
+ </message>
+
+
+
+ <message name="queryOut">
+
+ <part element="tns:queryResponse" name="parameters" />
+
+ </message>
+
+
+
+ <portType name="ExtensibilityQueryPortType">
+
+ <operation name="query">
+
+ <input message="tns:queryIn" />
+
+ <output message="tns:queryOut" />
+
+ </operation>
+
+ </portType>
+
+
+
+ <binding name="ExtensibilityQueryBinding" type="tns:ExtensibilityQueryPortType">
+
+ <soap:binding style="document"
+
+ transport="http://schemas.xmlsoap.org/soap/http" />
+
+ <operation name="query">
+
+ <soap:operation soapAction="ExtensibilityQuery#query" />
+
+ <input>
+
+ <soap:body use="literal" />
+
+ </input>
+
+ <output>
+
+ <soap:body use="literal" />
+
+ </output>
+
+ </operation>
+
+ </binding>
+
+
+
+ <service name="ExtensibilityQuery">
+
+ <port binding="tns:ExtensibilityQueryBinding" name="ExtensibilityQueryPort">
+
+ <soap:address location="http://localhost:8080/axis/testXSDANY"/>
+
+ </port>
+
+ </service>
+
+</definitions>
+
+
+
diff --git a/test/resources/wsdl/FaultMapping.wsdl b/test/resources/wsdl/FaultMapping.wsdl
new file mode 100644
index 0000000..557ed0f
--- /dev/null
+++ b/test/resources/wsdl/FaultMapping.wsdl
@@ -0,0 +1,97 @@
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://soapinterop.org/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" targetNamespace="http://soapinterop.org/wsdl">
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://soapinterop.org/types">
+ <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="DivByZeroStruct">
+ <sequence>
+ <element name="varString" type="xsd:string"/>
+ <element name="varInt" type="xsd:int"/>
+ <element name="varFloat" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ <complexType name="SpecialDetailStruct">
+ <sequence>
+ <element name="varString" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ <complexType name="OutOfBoundStruct">
+ <sequence>
+ <element name="varString" type="xsd:string"/>
+ <element name="varInt" type="xsd:int"/>
+ <element name="specialDetail" type="tns:SpecialDetailStruct"/>
+ </sequence>
+ </complexType>
+ </schema>
+ </types>
+ <message name="DivByZeroFault">
+ <part name="faultstruct1" type="ns2:DivByZeroStruct"/>
+ </message>
+ <message name="OutOfBoundFault">
+ <part name="faultstruct1" type="ns2:OutOfBoundStruct"/>
+ </message>
+ <message name="SpecialDetailFault">
+ <part name="faultstruct1" type="ns2:SpecialDetailStruct"/>
+ </message>
+ <message name="divRequest">
+ <part name="int0" type="xsd:int"/>
+ <part name="int1" type="xsd:int"/>
+ </message>
+ <message name="divResponse">
+ <part name="addReturn" type="xsd:int"/>
+ </message>
+ <portType name="MathOps">
+ <operation name="div" parameterOrder ="int0 int1">
+ <input message="tns:divRequest"/>
+ <output message="tns:divResponse"/>
+ <fault name="DivByZero" message="tns:DivByZeroFault"/>
+ <fault name="OutOfBound" message="tns:OutOfBoundFault"/>
+ <fault name="NormalDetail" message="tns:SpecialDetailFault"/>
+ </operation>
+ </portType>
+ <binding name="MathOpsBinding" type="tns:MathOps">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="div">
+ <soap:operation soapAction="MathOps#div"/>
+ <input name="divRequest">
+ <soap:body
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://localhost/axis/MathOps"
+ use="encoded"/>
+ </input>
+ <output name="divResponse">
+ <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://localhost/axis/MathOps"
+ use="encoded"/>
+ </output>
+ <fault name="DivByZero">
+ <soap:fault name="DivByZero" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soapinterop.org/wsdl"/>
+ </fault>
+ <fault name="OutOfBound">
+ <soap:fault name="OutOfBound" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soapinterop.org/wsdl"/>
+ </fault>
+ <fault name="NormalDetail">
+ <soap:fault name="NormalDetail" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soapinterop.org/wsdl"/>
+ </fault>
+ </operation>
+ </binding>
+ <service name="MathOpsService">
+ <port name="MathOps" binding="tns:MathOpsBinding">
+ <soap:address location="http://localhost/axis/MathOps"/>
+ </port>
+ </service>
+ <!-- Fault messages -->
+</definitions>
diff --git a/test/resources/wsdl/FaultMappingDoc.wsdl b/test/resources/wsdl/FaultMappingDoc.wsdl
new file mode 100644
index 0000000..e51b20f
--- /dev/null
+++ b/test/resources/wsdl/FaultMappingDoc.wsdl
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://soapinterop.org/wsdl" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org/wsdl" xmlns:intf="http://soapinterop.org/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/wsdl" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org/wsdl" xmlns:intf="http://soapinterop.org/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <element name="div">
+ <complexType>
+ <sequence>
+ <element name="arg_0_0" type="xsd:int"/>
+ <element name="arg_1_0" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="divResponse">
+ <complexType>
+ <sequence>
+ <element name="divReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <complexType name="OutOfBoundStruct">
+ <sequence>
+ <element name="varString" nillable="true" type="xsd:string"/>
+ <element name="varInt" type="xsd:int"/>
+ <element name="specialDetail" nillable="true" type="impl:SpecialDetailStruct"/>
+ </sequence>
+ </complexType>
+ <complexType name="SpecialDetailStruct">
+ <sequence>
+ <element name="varString" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ <element name="OutOfBoundStruct" nillable="true" type="impl:OutOfBoundStruct"/>
+ <complexType name="DivByZeroStruct">
+ <sequence>
+ <element name="varString" nillable="true" type="xsd:string"/>
+ <element name="varInt" type="xsd:int"/>
+ <element name="varFloat" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ <element name="DivByZeroStruct" nillable="true" type="impl:DivByZeroStruct"/>
+ <element name="SpecialDetailStruct" nillable="true" type="impl:SpecialDetailStruct"/>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="OutOfBoundStruct">
+
+ <wsdl:part element="impl:OutOfBoundStruct" name="fault"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="divRequest">
+
+ <wsdl:part element="impl:div" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="divResponse">
+
+ <wsdl:part element="impl:divResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="DivByZeroStruct">
+
+ <wsdl:part element="impl:DivByZeroStruct" name="fault"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="SpecialDetailStruct">
+
+ <wsdl:part element="impl:SpecialDetailStruct" name="fault"/>
+
+ </wsdl:message>
+
+ <wsdl:portType name="MathOps">
+
+ <wsdl:operation name="div">
+
+ <wsdl:input message="impl:divRequest" name="divRequest"/>
+
+ <wsdl:output message="impl:divResponse" name="divResponse"/>
+
+ <wsdl:fault message="impl:DivByZeroStruct" name="DivByZeroStruct"/>
+
+ <wsdl:fault message="impl:SpecialDetailStruct" name="SpecialDetailStruct"/>
+
+ <wsdl:fault message="impl:OutOfBoundStruct" name="OutOfBoundStruct"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="MathOpsSoapBinding" type="impl:MathOps">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="div">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="divRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="divResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ <wsdl:fault name="DivByZeroStruct">
+
+ <wsdlsoap:fault name="DivByZeroStruct" use="literal"/>
+
+ </wsdl:fault>
+
+ <wsdl:fault name="SpecialDetailStruct">
+
+ <wsdlsoap:fault name="SpecialDetailStruct" use="literal"/>
+
+ </wsdl:fault>
+
+ <wsdl:fault name="OutOfBoundStruct">
+
+ <wsdlsoap:fault name="OutOfBoundStruct" use="literal"/>
+
+ </wsdl:fault>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="MathOpsService">
+
+ <wsdl:port binding="impl:MathOpsSoapBinding" name="MathOps">
+
+ <wsdlsoap:address location="http://localhost/axis/MathOps"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/test/resources/wsdl/FourLevelTestDoc.wsdl b/test/resources/wsdl/FourLevelTestDoc.wsdl
new file mode 100644
index 0000000..7c82a05
--- /dev/null
+++ b/test/resources/wsdl/FourLevelTestDoc.wsdl
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="LicenseUsageHistoryService" targetNamespace="urn:org.apache:ws-axis/c/test/v1_0" xmlns:impl="urn:org.apache:ws-axis/c/test/v1_0" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/">
+ <types>
+ <schema targetNamespace="urn:org.apache:ws-axis/c/test/v1_0" xmlns:impl="urn:org.apache:ws-axis/c/test/v1_0" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" elementFormDefault="qualified">
+ <complexType name="FourthLevelElemType">
+ <sequence>
+ <element name="SampleString" type="xsd:string"/>
+ <element name="SampleInt" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ <complexType name="ThirdLevelElemType">
+ <sequence>
+ <element name="FourthLevelElem" type="impl:FourthLevelElemType" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="SecondLevelElemType">
+ <sequence>
+ <element name="ThirdLevelElem" type="impl:ThirdLevelElemType" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="FirstLevelElemType">
+ <sequence>
+ <element name="SecondLevelElem" type="impl:SecondLevelElemType" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="FirstLevelElem" type="impl:FirstLevelElemType"/>
+ </schema>
+ </types>
+ <message name="TestDocRequest">
+ <part element="impl:FirstLevelElem" name="inputPart"/>
+ </message>
+ <message name="TestDocResponse">
+ <part element="impl:FirstLevelElem" name="outputPart"/>
+ </message>
+ <portType name="FourLevelTestDocInterface">
+ <operation name="RetrieveTestDoc">
+ <input message="impl:TestDocRequest" name="TestDocRequest"/>
+ <output message="impl:TestDocResponse" name="TestDocResponse"/>
+ </operation>
+ </portType>
+ <binding name="FourLevelTestDocBinding" type="impl:FourLevelTestDocInterface">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="RetrieveTestDoc">
+ <soap:operation soapAction="FourLevelTestDocService#RetrieveTestDoc" style="document"/>
+ <input name="TestDocRequest">
+ <soap:body namespace="urn:org.apache:ws-axis/c/test/v1_0" use="literal"/>
+ </input>
+ <output name="TestDocResponse">
+ <soap:body namespace="urn:org.apache:ws-axis/c/test/v1_0" use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="FourLevelTestDocService">
+ <port binding="impl:FourLevelTestDocBinding" name="FourLevelTestDoc">
+ <soap:address location="http://localhost:80/axis/FourLevelTestDoc"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/InOut.wsdl b/test/resources/wsdl/InOut.wsdl
new file mode 100644
index 0000000..11f6afa
--- /dev/null
+++ b/test/resources/wsdl/InOut.wsdl
@@ -0,0 +1,429 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://complexissues.test.apache.org" xmlns:impl="http://complexissues.test.apache.org" xmlns:intf="http://complexissues.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://complexissues.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://complexissues.test.apache.org" xmlns:intf="http://complexissues.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <element name="noParametersNoReturn">
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+ <element name="noParametersNoReturnResponse">
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+ <element name="noParametersIntReturn">
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+ <element name="noParametersIntReturnResponse">
+ <complexType>
+ <sequence>
+ <element name="noParametersIntReturnReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="multiParametersNoReturn">
+ <complexType>
+ <sequence>
+ <element name="arg_0_2" nillable="true" type="xsd:string"/>
+ <element name="arg_1_2" type="xsd:int"/>
+ <element name="arg_2_2" type="xsd:double"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="multiParametersNoReturnResponse">
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+ <element name="multiComplexParametersIntReturn">
+ <complexType>
+ <sequence>
+ <element name="arg_0_3" nillable="true" type="xsd:string"/>
+ <element name="arg_1_3" nillable="true" type="impl:ComplexType1"/>
+ <element name="arg_2_3" type="xsd:int"/>
+ <element name="arg_3_3" type="xsd:double"/>
+ <element maxOccurs="unbounded" name="arg_4_3" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <complexType name="ComplexType1">
+ <sequence>
+ <element name="ctLong" type="xsd:long"/>
+ <element maxOccurs="unbounded" name="ctIntArray" type="xsd:int"/>
+ <element name="ctString" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ <complexType name="ComplexType2">
+ <sequence>
+ <element name="ctLong" type="xsd:long"/>
+ <element maxOccurs="unbounded" name="ctIntArray" type="xsd:int"/>
+ <element name="ctString" nillable="true" type="xsd:string"/>
+ <element name="ctComplex" nillable="true" type="impl:ComplexType1"/>
+ </sequence>
+ </complexType>
+ <element name="complexParameterComplexReturn">
+ <complexType>
+ <sequence>
+ <element name="complexRequest" nillable="true" type="impl:ComplexType2"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="complexParameterComplexReturnResponse">
+ <complexType>
+ <sequence>
+ <element name="complexResponse" nillable="true" type="impl:ComplexType2"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="multiComplexParametersIntReturnResponse">
+ <complexType>
+ <sequence>
+ <element name="multiComplexParametersIntReturnReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="multiComplexParametersNilIntReturn">
+ <complexType>
+ <sequence>
+ <element name="arg_0_4" nillable="true" type="xsd:string"/>
+ <element name="arg_1_4" nillable="true" type="impl:ComplexNilType1"/>
+ <element name="arg_2_4" nillable="true" type="xsd:int"/>
+ <element name="arg_3_4" nillable="true" type="xsd:double"/>
+ <element maxOccurs="unbounded" name="arg_4_4" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <complexType name="ComplexNilType1">
+ <sequence>
+ <element name="ctLong" nillable="true" type="xsd:long"/>
+ <element maxOccurs="unbounded" name="ctIntArray" nillable="true" type="xsd:int"/>
+ <element name="ctString" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ <element name="multiComplexParametersNilIntReturnResponse">
+ <complexType>
+ <sequence>
+ <element name="multiComplexParametersNilIntReturnReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="multiArrayParametersIntReturn">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="arg_0_5" type="xsd:int"/>
+ <element maxOccurs="unbounded" minOccurs="0" name="arg_1_5" type="xsd:double"/>
+ <element maxOccurs="unbounded" minOccurs="0" name="arg_2_5" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="multiArrayParametersIntReturnResponse">
+ <complexType>
+ <sequence>
+ <element name="multiArrayParametersIntReturnReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="noParametersIntReturnResponse">
+
+ <wsdl:part element="impl:noParametersIntReturnResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="noParametersNoReturnRequest">
+
+ <wsdl:part element="impl:noParametersNoReturn" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="multiComplexParametersIntReturnResponse">
+
+ <wsdl:part element="impl:multiComplexParametersIntReturnResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="multiArrayParametersIntReturnRequest">
+
+ <wsdl:part element="impl:multiArrayParametersIntReturn" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="multiComplexParametersNilIntReturnResponse">
+
+ <wsdl:part element="impl:multiComplexParametersNilIntReturnResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="noParametersNoReturnResponse">
+
+ <wsdl:part element="impl:noParametersNoReturnResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="multiParametersNoReturnRequest">
+
+ <wsdl:part element="impl:multiParametersNoReturn" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="complexParameterComplexReturnRequest">
+ <wsdl:part element="impl:complexParameterComplexReturn" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="complexParameterComplexReturnResponse">
+ <wsdl:part element="impl:complexParameterComplexReturnResponse" name="parameters"/>
+ </wsdl:message>
+
+ <wsdl:message name="noParametersIntReturnRequest">
+
+ <wsdl:part element="impl:noParametersIntReturn" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="multiComplexParametersIntReturnRequest">
+
+ <wsdl:part element="impl:multiComplexParametersIntReturn" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="multiComplexParametersNilIntReturnRequest">
+
+ <wsdl:part element="impl:multiComplexParametersNilIntReturn" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="multiArrayParametersIntReturnResponse">
+
+ <wsdl:part element="impl:multiArrayParametersIntReturnResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="multiParametersNoReturnResponse">
+
+ <wsdl:part element="impl:multiParametersNoReturnResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:portType name="InOut">
+
+ <wsdl:operation name="noParametersNoReturn">
+
+ <wsdl:input message="impl:noParametersNoReturnRequest" name="noParametersNoReturnRequest"/>
+
+ <wsdl:output message="impl:noParametersNoReturnResponse" name="noParametersNoReturnResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="noParametersIntReturn">
+
+ <wsdl:input message="impl:noParametersIntReturnRequest" name="noParametersIntReturnRequest"/>
+
+ <wsdl:output message="impl:noParametersIntReturnResponse" name="noParametersIntReturnResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="multiParametersNoReturn">
+
+ <wsdl:input message="impl:multiParametersNoReturnRequest" name="multiParametersNoReturnRequest"/>
+
+ <wsdl:output message="impl:multiParametersNoReturnResponse" name="multiParametersNoReturnResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="complexParameterComplexReturn">
+
+ <wsdl:input message="impl:complexParameterComplexReturnRequest" name="complexParameterComplexReturnRequest"/>
+
+ <wsdl:output message="impl:complexParameterComplexReturnResponse" name="complexParameterComplexReturnResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="multiComplexParametersIntReturn">
+
+ <wsdl:input message="impl:multiComplexParametersIntReturnRequest" name="multiComplexParametersIntReturnRequest"/>
+
+ <wsdl:output message="impl:multiComplexParametersIntReturnResponse" name="multiComplexParametersIntReturnResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="multiComplexParametersNilIntReturn">
+
+ <wsdl:input message="impl:multiComplexParametersNilIntReturnRequest" name="multiComplexParametersNilIntReturnRequest"/>
+
+ <wsdl:output message="impl:multiComplexParametersNilIntReturnResponse" name="multiComplexParametersNilIntReturnResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="multiArrayParametersIntReturn">
+
+ <wsdl:input message="impl:multiArrayParametersIntReturnRequest" name="multiArrayParametersIntReturnRequest"/>
+
+ <wsdl:output message="impl:multiArrayParametersIntReturnResponse" name="multiArrayParametersIntReturnResponse"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="InOutSoapBinding" type="impl:InOut">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="noParametersNoReturn">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="noParametersNoReturnRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="noParametersNoReturnResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="noParametersIntReturn">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="noParametersIntReturnRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="noParametersIntReturnResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="multiParametersNoReturn">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="multiParametersNoReturnRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="multiParametersNoReturnResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="complexParameterComplexReturn">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="complexParameterComplexReturnRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="complexParameterComplexReturnResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="multiComplexParametersIntReturn">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="multiComplexParametersIntReturnRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="multiComplexParametersIntReturnResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="multiComplexParametersNilIntReturn">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="multiComplexParametersNilIntReturnRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="multiComplexParametersNilIntReturnResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="multiArrayParametersIntReturn">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="multiArrayParametersIntReturnRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="multiArrayParametersIntReturnResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="InOutService">
+
+ <wsdl:port binding="impl:InOutSoapBinding" name="InOut">
+
+ <wsdlsoap:address location="http://localhost:9080/InOut/services/InOut"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
+
diff --git a/test/resources/wsdl/InteropTestRound1.wsdl b/test/resources/wsdl/InteropTestRound1.wsdl
new file mode 100644
index 0000000..f7d1945
--- /dev/null
+++ b/test/resources/wsdl/InteropTestRound1.wsdl
@@ -0,0 +1,333 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="ArrayOfstring">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfint">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOffloat">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfSOAPStruct">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="SOAPStruct">
+ <all>
+ <element name="varString" type="string"/>
+ <element name="varInt" type="int"/>
+ <element name="varFloat" type="float"/>
+ </all>
+ </complexType>
+ </schema>
+ </types>
+
+ <message name="echoStringRequest">
+ <part name="inputString" type="xsd:string"/>
+ </message>
+ <message name="echoStringResponse">
+ <part name="return" type="xsd:string"/>
+ </message>
+ <message name="echoStringArrayRequest">
+ <part name="inputStringArray" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoStringArrayResponse">
+ <part name="return" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoIntegerRequest">
+ <part name="inputInteger" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerResponse">
+ <part name="return" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerArrayRequest">
+ <part name="inputIntegerArray" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoIntegerArrayResponse">
+ <part name="return" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoFloatRequest">
+ <part name="inputFloat" type="xsd:float"/>
+ </message>
+ <message name="echoFloatResponse">
+ <part name="return" type="xsd:float"/>
+ </message>
+ <message name="echoFloatArrayRequest">
+ <part name="inputFloatArray" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoFloatArrayResponse">
+ <part name="return" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoStructRequest">
+ <part name="inputStruct" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructResponse">
+ <part name="return" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructArrayRequest">
+ <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoStructArrayResponse">
+ <part name="return" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoVoidRequest"/>
+ <message name="echoVoidResponse"/>
+ <message name="echoBase64Request">
+ <part name="inputBase64" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoBase64Response">
+ <part name="return" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoDateRequest">
+ <part name="inputDate" type="xsd:dateTime"/>
+ </message>
+ <message name="echoDateResponse">
+ <part name="return" type="xsd:dateTime"/>
+ </message>
+ <message name="echoHexBinaryRequest">
+ <part name="inputHexBinary" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoHexBinaryResponse">
+ <part name="return" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoDecimalRequest">
+ <part name="inputDecimal" type="xsd:decimal"/>
+ </message>
+ <message name="echoDecimalResponse">
+ <part name="return" type="xsd:decimal"/>
+ </message>
+ <message name="echoBooleanRequest">
+ <part name="inputBoolean" type="xsd:boolean"/>
+ </message>
+ <message name="echoBooleanResponse">
+ <part name="return" type="xsd:boolean"/>
+ </message>
+
+ <portType name="InteropTestPortType">
+ <operation name="echoString" parameterOrder="inputString">
+ <input message="tns:echoStringRequest"/>
+ <output message="tns:echoStringResponse"/>
+ </operation>
+ <operation name="echoStringArray" parameterOrder="inputStringArray">
+ <input message="tns:echoStringArrayRequest"/>
+ <output message="tns:echoStringArrayResponse"/>
+ </operation>
+ <operation name="echoInteger" parameterOrder="inputInteger">
+ <input message="tns:echoIntegerRequest"/>
+ <output message="tns:echoIntegerResponse"/>
+ </operation>
+ <operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
+ <input message="tns:echoIntegerArrayRequest"/>
+ <output message="tns:echoIntegerArrayResponse"/>
+ </operation>
+ <operation name="echoFloat" parameterOrder="inputFloat">
+ <input message="tns:echoFloatRequest"/>
+ <output message="tns:echoFloatResponse"/>
+ </operation>
+ <operation name="echoFloatArray" parameterOrder="inputFloatArray">
+ <input message="tns:echoFloatArrayRequest"/>
+ <output message="tns:echoFloatArrayResponse"/>
+ </operation>
+ <operation name="echoStruct" parameterOrder="inputStruct">
+ <input message="tns:echoStructRequest"/>
+ <output message="tns:echoStructResponse"/>
+ </operation>
+ <operation name="echoStructArray" parameterOrder="inputStructArray">
+ <input message="tns:echoStructArrayRequest"/>
+ <output message="tns:echoStructArrayResponse"/>
+ </operation>
+ <operation name="echoVoid">
+ <input message="tns:echoVoidRequest"/>
+ <output message="tns:echoVoidResponse"/>
+ </operation>
+ <operation name="echoBase64" parameterOrder="inputBase64">
+ <input message="tns:echoBase64Request"/>
+ <output message="tns:echoBase64Response"/>
+ </operation>
+ <operation name="echoDate" parameterOrder="inputDate">
+ <input message="tns:echoDateRequest"/>
+ <output message="tns:echoDateResponse"/>
+ </operation>
+ <operation name="echoHexBinary" parameterOrder="inputHexBinary">
+ <input message="tns:echoHexBinaryRequest"/>
+ <output message="tns:echoHexBinaryResponse"/>
+ </operation>
+ <operation name="echoDecimal" parameterOrder="inputDecimal">
+ <input message="tns:echoDecimalRequest"/>
+ <output message="tns:echoDecimalResponse"/>
+ </operation>
+ <operation name="echoBoolean" parameterOrder="inputBoolean">
+ <input message="tns:echoBooleanRequest"/>
+ <output message="tns:echoBooleanResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoString">
+ <soap:operation soapAction="InteropBase#echoString"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStringArray">
+ <soap:operation soapAction="InteropBase#echoStringArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoInteger">
+ <soap:operation soapAction="InteropBase#echoInteger"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoIntegerArray">
+ <soap:operation soapAction="InteropBase#echoIntegerArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloat">
+ <soap:operation soapAction="InteropBase#echoFloat"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloatArray">
+ <soap:operation soapAction="InteropBase#echoFloatArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStruct">
+ <soap:operation soapAction="InteropBase#echoStruct"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStructArray">
+ <soap:operation soapAction="InteropBase#echoStructArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoVoid">
+ <soap:operation soapAction="InteropBase#echoVoid"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBase64">
+ <soap:operation soapAction="InteropBase#echoBase64"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDate">
+ <soap:operation soapAction="InteropBase#echoDate"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoHexBinary">
+ <soap:operation soapAction="InteropBase#echoHexBinary"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDecimal">
+ <soap:operation soapAction="InteropBase#echoDecimal"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBoolean">
+ <soap:operation soapAction="InteropBase#echoBoolean"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="InteropBase">
+ <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest">
+ <soap:address location="http://localhost/axis/InteropBase"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/InteropTestRound1Doc.wsdl b/test/resources/wsdl/InteropTestRound1Doc.wsdl
new file mode 100644
index 0000000..be1d09b
--- /dev/null
+++ b/test/resources/wsdl/InteropTestRound1Doc.wsdl
@@ -0,0 +1,774 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://soapinterop.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org" xmlns:intf="http://soapinterop.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org" xmlns:intf="http://soapinterop.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <element name="echoString">
+ <complexType>
+ <sequence>
+ <element name="arg_0_0" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStringResponse">
+ <complexType>
+ <sequence>
+ <element name="echoStringReturn" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStringArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" name="arg_0_1" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStringArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" name="echoStringArrayReturn" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoInteger">
+ <complexType>
+ <sequence>
+ <element name="arg_0_2" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoIntegerResponse">
+ <complexType>
+ <sequence>
+ <element name="echoIntegerReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoIntegerArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" name="arg_0_3" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoIntegerArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" name="echoIntegerArrayReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoFloat">
+ <complexType>
+ <sequence>
+ <element name="arg_0_4" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoFloatResponse">
+ <complexType>
+ <sequence>
+ <element name="echoFloatReturn" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoFloatArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" name="arg_0_5" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoFloatArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" name="echoFloatArrayReturn" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ </element>
+ <complexType name="SOAPStruct">
+ <sequence>
+ <element name="varString" nillable="true" type="xsd:string"/>
+ <element name="varInt" type="xsd:int"/>
+ <element name="varFloat" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ <element name="echoStruct">
+ <complexType>
+ <sequence>
+ <element name="arg_0_6" nillable="true" type="impl:SOAPStruct"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStructResponse">
+ <complexType>
+ <sequence>
+ <element name="echoStructReturn" nillable="true" type="impl:SOAPStruct"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStructArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" name="arg_0_7" type="impl:SOAPStruct"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStructArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" name="echoStructArrayReturn" type="impl:SOAPStruct"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoVoid">
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+ <element name="echoVoidResponse">
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+ <element name="echoBase64">
+ <complexType>
+ <sequence>
+ <element name="arg_0_9" type="xsd:base64Binary"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoBase64Response">
+ <complexType>
+ <sequence>
+ <element name="echoBase64Return" type="xsd:base64Binary"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoDate">
+ <complexType>
+ <sequence>
+ <element name="arg_0_10" nillable="true" type="xsd:dateTime"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoDateResponse">
+ <complexType>
+ <sequence>
+ <element name="echoDateReturn" nillable="true" type="xsd:dateTime"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoHexBinary">
+ <complexType>
+ <sequence>
+ <element name="arg_0_11" type="xsd:hexBinary"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoHexBinaryResponse">
+ <complexType>
+ <sequence>
+ <element name="echoHexBinaryReturn" type="xsd:hexBinary"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoDecimal">
+ <complexType>
+ <sequence>
+ <element name="arg_0_12" nillable="true" type="xsd:decimal"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoDecimalResponse">
+ <complexType>
+ <sequence>
+ <element name="echoDecimalReturn" nillable="true" type="xsd:decimal"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoBoolean">
+ <complexType>
+ <sequence>
+ <element name="arg_0_13" type="xsd:boolean"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoBooleanResponse">
+ <complexType>
+ <sequence>
+ <element name="echoBooleanReturn" type="xsd:boolean"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="echoBooleanResponse">
+
+ <wsdl:part element="impl:echoBooleanResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoBase64Response">
+
+ <wsdl:part element="impl:echoBase64Response" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoVoidRequest">
+
+ <wsdl:part element="impl:echoVoid" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoStringArrayRequest">
+
+ <wsdl:part element="impl:echoStringArray" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoDecimalResponse">
+
+ <wsdl:part element="impl:echoDecimalResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoFloatResponse">
+
+ <wsdl:part element="impl:echoFloatResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoBase64Request">
+
+ <wsdl:part element="impl:echoBase64" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoDateResponse">
+
+ <wsdl:part element="impl:echoDateResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoBooleanRequest">
+
+ <wsdl:part element="impl:echoBoolean" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoHexBinaryRequest">
+
+ <wsdl:part element="impl:echoHexBinary" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoHexBinaryResponse">
+
+ <wsdl:part element="impl:echoHexBinaryResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoFloatRequest">
+
+ <wsdl:part element="impl:echoFloat" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoIntegerResponse">
+
+ <wsdl:part element="impl:echoIntegerResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoFloatArrayRequest">
+
+ <wsdl:part element="impl:echoFloatArray" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoStringArrayResponse">
+
+ <wsdl:part element="impl:echoStringArrayResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoStructArrayRequest">
+
+ <wsdl:part element="impl:echoStructArray" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoStructRequest">
+
+ <wsdl:part element="impl:echoStruct" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoIntegerRequest">
+
+ <wsdl:part element="impl:echoInteger" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoDateRequest">
+
+ <wsdl:part element="impl:echoDate" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoIntegerArrayRequest">
+
+ <wsdl:part element="impl:echoIntegerArray" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoDecimalRequest">
+
+ <wsdl:part element="impl:echoDecimal" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoStructResponse">
+
+ <wsdl:part element="impl:echoStructResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoFloatArrayResponse">
+
+ <wsdl:part element="impl:echoFloatArrayResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoStringResponse">
+
+ <wsdl:part element="impl:echoStringResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoVoidResponse">
+
+ <wsdl:part element="impl:echoVoidResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoStructArrayResponse">
+
+ <wsdl:part element="impl:echoStructArrayResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoIntegerArrayResponse">
+
+ <wsdl:part element="impl:echoIntegerArrayResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoStringRequest">
+
+ <wsdl:part element="impl:echoString" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:portType name="InteropTestPortTypeDoc">
+
+ <wsdl:operation name="echoString">
+
+ <wsdl:input message="impl:echoStringRequest" name="echoStringRequest"/>
+
+ <wsdl:output message="impl:echoStringResponse" name="echoStringResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoStringArray">
+
+ <wsdl:input message="impl:echoStringArrayRequest" name="echoStringArrayRequest"/>
+
+ <wsdl:output message="impl:echoStringArrayResponse" name="echoStringArrayResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoInteger">
+
+ <wsdl:input message="impl:echoIntegerRequest" name="echoIntegerRequest"/>
+
+ <wsdl:output message="impl:echoIntegerResponse" name="echoIntegerResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoIntegerArray">
+
+ <wsdl:input message="impl:echoIntegerArrayRequest" name="echoIntegerArrayRequest"/>
+
+ <wsdl:output message="impl:echoIntegerArrayResponse" name="echoIntegerArrayResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoFloat">
+
+ <wsdl:input message="impl:echoFloatRequest" name="echoFloatRequest"/>
+
+ <wsdl:output message="impl:echoFloatResponse" name="echoFloatResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoFloatArray">
+
+ <wsdl:input message="impl:echoFloatArrayRequest" name="echoFloatArrayRequest"/>
+
+ <wsdl:output message="impl:echoFloatArrayResponse" name="echoFloatArrayResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoStruct">
+
+ <wsdl:input message="impl:echoStructRequest" name="echoStructRequest"/>
+
+ <wsdl:output message="impl:echoStructResponse" name="echoStructResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoStructArray">
+
+ <wsdl:input message="impl:echoStructArrayRequest" name="echoStructArrayRequest"/>
+
+ <wsdl:output message="impl:echoStructArrayResponse" name="echoStructArrayResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoVoid">
+
+ <wsdl:input message="impl:echoVoidRequest" name="echoVoidRequest"/>
+
+ <wsdl:output message="impl:echoVoidResponse" name="echoVoidResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoBase64">
+
+ <wsdl:input message="impl:echoBase64Request" name="echoBase64Request"/>
+
+ <wsdl:output message="impl:echoBase64Response" name="echoBase64Response"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoDate">
+
+ <wsdl:input message="impl:echoDateRequest" name="echoDateRequest"/>
+
+ <wsdl:output message="impl:echoDateResponse" name="echoDateResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoHexBinary">
+
+ <wsdl:input message="impl:echoHexBinaryRequest" name="echoHexBinaryRequest"/>
+
+ <wsdl:output message="impl:echoHexBinaryResponse" name="echoHexBinaryResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoDecimal">
+
+ <wsdl:input message="impl:echoDecimalRequest" name="echoDecimalRequest"/>
+
+ <wsdl:output message="impl:echoDecimalResponse" name="echoDecimalResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoBoolean">
+
+ <wsdl:input message="impl:echoBooleanRequest" name="echoBooleanRequest"/>
+
+ <wsdl:output message="impl:echoBooleanResponse" name="echoBooleanResponse"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="InteropBaseSoapBinding" type="impl:InteropTestPortTypeDoc">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="echoString">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="echoStringRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="echoStringResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoStringArray">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="echoStringArrayRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="echoStringArrayResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoInteger">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="echoIntegerRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="echoIntegerResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoIntegerArray">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="echoIntegerArrayRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="echoIntegerArrayResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoFloat">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="echoFloatRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="echoFloatResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoFloatArray">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="echoFloatArrayRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="echoFloatArrayResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoStruct">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="echoStructRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="echoStructResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoStructArray">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="echoStructArrayRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="echoStructArrayResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoVoid">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="echoVoidRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="echoVoidResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoBase64">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="echoBase64Request">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="echoBase64Response">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoDate">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="echoDateRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="echoDateResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoHexBinary">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="echoHexBinaryRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="echoHexBinaryResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoDecimal">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="echoDecimalRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="echoDecimalResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="echoBoolean">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="echoBooleanRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="echoBooleanResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="InteropTestPortTypeDocService">
+
+ <wsdl:port binding="impl:InteropBaseSoapBinding" name="InteropBaseDoc">
+
+ <wsdlsoap:address location="http://localhost/axis/InteropBaseDoc"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/test/resources/wsdl/LargeReturningString.wsdl b/test/resources/wsdl/LargeReturningString.wsdl
new file mode 100644
index 0000000..9b031da
--- /dev/null
+++ b/test/resources/wsdl/LargeReturningString.wsdl
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://largereturningstring.test.apache.org" xmlns:impl="http://largereturningstring.test.apache.org" xmlns:intf="http://largereturningstring.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://largereturningstring.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://largereturningstring.test.apache.org" xmlns:intf="http://largereturningstring.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <element name="getLargeString">
+ <complexType>
+ <sequence>
+ <element name="size" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="getLargeStringResponse">
+ <complexType>
+ <sequence>
+ <element name="getLargeStringReturn" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="getLargeStringRequest">
+
+ <wsdl:part element="intf:getLargeString" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="getLargeStringResponse">
+
+ <wsdl:part element="intf:getLargeStringResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:portType name="LargeReturningString">
+
+ <wsdl:operation name="getLargeString">
+
+ <wsdl:input message="intf:getLargeStringRequest" name="getLargeStringRequest"/>
+
+ <wsdl:output message="intf:getLargeStringResponse" name="getLargeStringResponse"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="LargeReturningStringSoapBinding" type="intf:LargeReturningString">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="getLargeString">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="getLargeStringRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="getLargeStringResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="LargeReturningStringService">
+
+ <wsdl:port binding="intf:LargeReturningStringSoapBinding" name="LargeReturningString">
+
+ <wsdlsoap:address location="http://localhost:9080/LargeReturningString/services/LargeReturningString"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/test/resources/wsdl/LimitedAllTest.wsdl b/test/resources/wsdl/LimitedAllTest.wsdl
new file mode 100644
index 0000000..75324b0
--- /dev/null
+++ b/test/resources/wsdl/LimitedAllTest.wsdl
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/">
+ <s:import namespace="http://soapinterop.org/xsd" />
+
+
+
+
+ <s:element name="echoAll">
+ <s:complexType>
+ <s:sequence>
+ <s:element name="inputAll" type="s1:AllComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+ <s:element name="echoAllResponse">
+ <s:complexType>
+ <s:sequence>
+ <s:element name="return" type="s1:AllComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+
+
+
+ </s:schema>
+
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd">
+ <s:import namespace="http://soapinterop.org/" />
+
+ <s:complexType name="AllComplexType">
+ <s:all>
+ <s:element name="Value0" type="s:int" />
+ <s:element minOccurs="0" name="Value1" type="s:int" />
+ <s:element minOccurs="0" name="Value2" type="s:string" />
+ </s:all>
+ </s:complexType>
+ </s:schema>
+
+ </types>
+
+
+
+ <message name="echoAllSoapIn">
+ <part name="parameters" element="s0:echoAll" />
+ </message>
+ <message name="echoAllSoapOut">
+ <part name="parameters" element="s0:echoAllResponse" />
+ </message>
+
+ <portType name="AllTestSoap">
+
+
+ <operation name="echoAll">
+ <input message="s0:echoAllSoapIn" />
+ <output message="s0:echoAllSoapOut" />
+ </operation>
+
+ </portType>
+
+
+ <binding name="AllTestSoap" type="s0:AllTestSoap">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+ <operation name="echoAll">
+ <soap:operation soapAction="SimpleAllTest#echoAll" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<binding name="AllTestSoap12" type="s0:AllTestSoap">
+ <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+
+ <operation name="echoAll">
+ <soap12:operation soapAction="All#echoAll" style="document" />
+ <input>
+ <soap12:body use="literal" />
+ </input>
+ <output>
+ <soap12:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<service name="AllTest">
+ <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation>
+ <port name="AllTestSoap" binding="s0:AllTestSoap">
+ <soap:address location="http://localhost:90/axis/All" />
+ </port>
+ <port name="AllTestSoap12" binding="s0:AllTestSoap12">
+ <soap12:address location="http://localhost:90/axis/All" />
+ </port>
+ </service>
+</definitions> \ No newline at end of file
diff --git a/test/resources/wsdl/ManyTypeRefRoot.wsdl b/test/resources/wsdl/ManyTypeRefRoot.wsdl
new file mode 100644
index 0000000..13dec3d
--- /dev/null
+++ b/test/resources/wsdl/ManyTypeRefRoot.wsdl
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions
+ targetNamespace="http://manytyperefroot.test.apache.org"
+ xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:tns="http://manytyperefroot.test.apache.org"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://manytyperefroot.test.apache.org"
+ xmlns:tns="http://manytyperefroot.test.apache.org">
+
+ <xsd:element name="getInput">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="types" maxOccurs="unbounded" minOccurs="0" type="tns:Type1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="getInputResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="Type1" maxOccurs="unbounded" minOccurs="0" type="tns:Type1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="Type1">
+ <xsd:sequence>
+ <xsd:element name="kind" minOccurs="0" type="xsd:string"/>
+ <xsd:element name="index" minOccurs="0" type="xsd:int"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ </xsd:schema>
+ </types>
+
+
+ <message name="input">
+ <part name="parameters" element="tns:getInput" />
+ </message>
+
+ <message name="output">
+ <part name="parameters" element="tns:getInputResponse" />
+ </message>
+
+ <portType name="ManyTypeRefRoot">
+ <operation name="getInput">
+ <input message="tns:input" />
+ <output message="tns:output" />
+ </operation>
+ </portType>
+
+ <binding name="ManyTypeRefRootBinding" type="tns:ManyTypeRefRoot">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="getInput">
+ <soap:operation/>
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ </operation>
+ </binding>
+
+ <service name="ManyTypeRefRootService">
+ <port name="sampleWS" binding="tns:ManyTypeRefRootBinding">
+ <soap:address location="http://localhost:9080/ManyTypeRefRoot/services/sampleWS" />
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/MathOps.wsdl b/test/resources/wsdl/MathOps.wsdl
new file mode 100644
index 0000000..f7f810f
--- /dev/null
+++ b/test/resources/wsdl/MathOps.wsdl
@@ -0,0 +1,71 @@
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://soapinterop.org/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" targetNamespace="http://soapinterop.org/wsdl">
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://soapinterop.org/types">
+ <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="DivByZeroStruct">
+ <sequence>
+ <element name="varString" type="xsd:string"/>
+ <element name="varInt" type="xsd:int"/>
+ <element name="varFloat" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ </schema>
+ </types>
+ <message name="DivByZeroFault">
+ <part name="faultstruct1" type="ns2:DivByZeroStruct"/>
+ </message>
+ <message name="divRequest">
+ <part name="int0" type="xsd:int"/>
+ <part name="int1" type="xsd:int"/>
+ </message>
+ <message name="divResponse">
+ <part name="addReturn" type="xsd:int"/>
+ </message>
+ <portType name="MathOps">
+ <operation name="div" parameterOrder ="int0 int1">
+ <input message="tns:divRequest"/>
+ <output message="tns:divResponse"/>
+ <fault name="DivByZero" message="tns:DivByZeroFault"/>
+ </operation>
+ </portType>
+ <binding name="MathOpsBinding" type="tns:MathOps">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="div">
+ <soap:operation soapAction="MathOps#div"/>
+ <input name="divRequest">
+ <soap:body
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://localhost/axis/MathOps"
+ use="encoded"/>
+ </input>
+ <output name="divResponse">
+ <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://localhost/axis/MathOps"
+ use="encoded"/>
+ </output>
+ <fault name="DivByZero">
+ <soap:fault name="DivByZero" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soapinterop.org/wsdl"/>
+ </fault>
+ </operation>
+ </binding>
+ <service name="MathOpsService">
+ <port name="MathOps" binding="tns:MathOpsBinding">
+ <soap:address location="http://localhost/axis/MathOps"/>
+ </port>
+ </service>
+ <!-- Fault messages -->
+</definitions>
diff --git a/test/resources/wsdl/MathOpsDoc.wsdl b/test/resources/wsdl/MathOpsDoc.wsdl
new file mode 100644
index 0000000..e85ae96
--- /dev/null
+++ b/test/resources/wsdl/MathOpsDoc.wsdl
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://soapinterop.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org" xmlns:intf="http://soapinterop.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org" xmlns:intf="http://soapinterop.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <element name="div">
+ <complexType>
+ <sequence>
+ <element name="arg_0_0" type="xsd:int"/>
+ <element name="arg_1_0" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="divResponse">
+ <complexType>
+ <sequence>
+ <element name="divReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <complexType name="DivByZeroStruct">
+ <sequence>
+ <element name="varString" nillable="true" type="xsd:string"/>
+ <element name="varInt" type="xsd:int"/>
+ <element name="varFloat" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ <element name="DivByZeroStruct" nillable="true" type="impl:DivByZeroStruct"/>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="divRequest">
+
+ <wsdl:part element="impl:div" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="divResponse">
+
+ <wsdl:part element="impl:divResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="DivByZeroStruct">
+
+ <wsdl:part element="impl:DivByZeroStruct" name="fault"/>
+
+ </wsdl:message>
+
+ <wsdl:portType name="MathOps">
+
+ <wsdl:operation name="div">
+
+ <wsdl:input message="impl:divRequest" name="divRequest"/>
+
+ <wsdl:output message="impl:divResponse" name="divResponse"/>
+
+ <wsdl:fault message="impl:DivByZeroStruct" name="DivByZeroStruct"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="MathOpsSoapBinding" type="impl:MathOps">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="div">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="divRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="divResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ <wsdl:fault name="DivByZeroStruct">
+
+ <wsdlsoap:fault name="DivByZeroStruct" use="literal"/>
+
+ </wsdl:fault>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="MathOpsService">
+
+ <wsdl:port binding="impl:MathOpsSoapBinding" name="MathOps">
+
+ <wsdlsoap:address location="http://localhost/axis/MathOps"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/test/resources/wsdl/MinOccurTest.wsdl b/test/resources/wsdl/MinOccurTest.wsdl
new file mode 100644
index 0000000..29d8c78
--- /dev/null
+++ b/test/resources/wsdl/MinOccurTest.wsdl
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/">
+ <s:import namespace="http://soapinterop.org/xsd" />
+
+
+
+
+ <s:element name="echoAll">
+ <s:complexType>
+ <s:sequence>
+ <s:element name="inputAll" type="s1:AllComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+ <s:element name="echoAllResponse">
+ <s:complexType>
+ <s:sequence>
+ <s:element name="return" type="s1:AllComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+
+
+
+ </s:schema>
+
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd">
+ <s:import namespace="http://soapinterop.org/" />
+
+ <s:complexType name="AllComplexType">
+ <s:sequence>
+ <s:element minOccurs="1" maxOccurs="1" name="Value0" type="s:int" />
+ <s:element name="Value1" type="s:int" />
+ <s:element minOccurs="0" name="Value2" type="s:int" />
+ <s:element minOccurs="0" name="Value3" type="s:string" nillable="true" />
+ <s:element minOccurs="0" name="Value4" type="s:int" nillable="true" />
+ <s:element minOccurs="0" name="Value5" type="s:string" />
+ <s:element minOccurs="1" maxOccurs="1" name="Value6" type="s:string" />
+ </s:sequence>
+ </s:complexType>
+ </s:schema>
+
+ </types>
+
+
+
+ <message name="echoAllSoapIn">
+ <part name="parameters" element="s0:echoAll" />
+ </message>
+ <message name="echoAllSoapOut">
+ <part name="parameters" element="s0:echoAllResponse" />
+ </message>
+
+ <portType name="AllTestSoap">
+
+
+ <operation name="echoAll">
+ <input message="s0:echoAllSoapIn" />
+ <output message="s0:echoAllSoapOut" />
+ </operation>
+
+ </portType>
+
+
+ <binding name="AllTestSoap" type="s0:AllTestSoap">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+ <operation name="echoAll">
+ <soap:operation soapAction="SimpleAllTest#echoAll" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<binding name="AllTestSoap12" type="s0:AllTestSoap">
+ <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+
+ <operation name="echoAll">
+ <soap12:operation soapAction="All#echoAll" style="document" />
+ <input>
+ <soap12:body use="literal" />
+ </input>
+ <output>
+ <soap12:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<service name="AllTest">
+ <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation>
+ <port name="AllTestSoap" binding="s0:AllTestSoap">
+ <soap:address location="http://localhost:90/axis/All" />
+ </port>
+ <port name="AllTestSoap12" binding="s0:AllTestSoap12">
+ <soap12:address location="http://localhost:90/axis/All" />
+ </port>
+ </service>
+</definitions> \ No newline at end of file
diff --git a/test/resources/wsdl/MultiOut.wsdl b/test/resources/wsdl/MultiOut.wsdl
new file mode 100644
index 0000000..9590b29
--- /dev/null
+++ b/test/resources/wsdl/MultiOut.wsdl
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://localhost/axis/MultiOut"
+ xmlns:apachesoap="http://xml.apache.org/xml-soap"
+ xmlns:impl="http://localhost/axis/MultiOut"
+ xmlns:intf="http://localhost/axis/MultiOut"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <wsdl:types>
+ <schema elementFormDefault="qualified"
+ targetNamespace="http://localhost/axis/MultiOut"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:apachesoap="http://xml.apache.org/xml-soap"
+ xmlns:impl="http://localhost/axis/MultiOut"
+ xmlns:intf="http://localhost/axis/MultiOut"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <element name="get0">
+ <complexType>
+ <sequence>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="get">
+ <complexType>
+ <sequence>
+ <element name="out1" type="xsd:string"/>
+ <element nillable="true" name="out14" type="xsd:integer"/>
+ <element name="out15" type="xsd:int"/>
+ <element name="out16" type="xsd:long"/>
+ <element name="out17" type="xsd:short"/>
+ <element name="out18" type="xsd:decimal"/>
+ <element name="out19" type="xsd:float"/>
+ <element name="out20" type="xsd:double"/>
+ <element name="out21" type="xsd:boolean"/>
+ <element name="out22" type="xsd:byte"/>
+
+<!--
+ <element name="out1" type="xsd:string"/>
+ <element name="out2" type="xsd:normalizedString"/>
+ <element name="out3" type="xsd:token"/>
+ <element name="out4" type="xsd:language"/>
+ <element name="out5" type="xsd:Name"/>
+ <element name="out6" type="xsd:NCName"/>
+ <element name="out7" type="xsd:ID"/>
+ <element name="out8" type="xsd:IDREF"/>
+ <element name="out9" type="xsd:IDREFS"/>
+ <element name="out10" type="xsd:ENTITY"/>
+ <element name="out11" type="xsd:ENTITIES"/>
+ <element name="out12" type="xsd:NMTOKEN"/>
+ <element name="out13" type="xsd:NMTOKENS"/>
+ <element name="out14" type="xsd:integer"/>
+ <element name="out15" type="xsd:int"/>
+ <element name="out16" type="xsd:long"/>
+ <element name="out17" type="xsd:short"/>
+ <element name="out18" type="xsd:decimal"/>
+ <element name="out19" type="xsd:float"/>
+ <element name="out20" type="xsd:double"/>
+ <element name="out21" type="xsd:boolean"/>
+ <element name="out22" type="xsd:byte"/>
+ <element name="out23" type="xsd:QName"/>
+ <element name="out24" type="xsd:NOTATION"/>
+ <element name="out25" type="xsd:dateTime"/>
+ <element name="out26" type="xsd:date"/>
+ <element name="out27" type="xsd:time"/>
+ <element name="out28" type="xsd:gYearMonth"/>
+ <element name="out29" type="xsd:gYear"/>
+ <element name="out30" type="xsd:gMonthDay"/>
+ <element name="out31" type="xsd:gDay"/>
+ <element name="out32" type="xsd:gMonth"/>
+ <element name="out33" type="xsd:duration"/>
+ <element name="out34" type="xsd:nonNegativeInteger"/>
+ <element name="out35" type="xsd:unsignedByte"/>
+ <element name="out36" type="xsd:unsignedInt"/>
+ <element name="out37" type="xsd:unsignedLong"/>
+ <element name="out38" type="xsd:unsignedShort"/>
+ <element name="out39" type="xsd:nonPositiveInteger"/>
+ <element name="out40" type="xsd:positiveInteger"/>
+ <element name="out41" type="xsd:negativeInteger"/>
+ <element name="out42" type="xsd:base64Binary"/>
+ <element name="out43" type="xsd:hexBinary"/>
+ <element name="out44" type="xsd:anyURI"/>
+-->
+
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="get0">
+ <wsdl:part element="impl:get0" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="get">
+ <wsdl:part element="impl:get" name="parameters"/>
+ </wsdl:message>
+
+ <wsdl:portType name="MultiOut">
+ <wsdl:operation name="get">
+ <wsdl:input message="impl:get0" name="get0"/>
+ <wsdl:output message="impl:get" name="get"/>
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:binding name="MultiOutSoapBinding" type="impl:MultiOut">
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="get">
+ <wsdlsoap:operation soapAction="MultiOut#get"/>
+ <wsdl:input name="get0">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="get">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="MultiOut">
+ <wsdl:port binding="impl:MultiOutSoapBinding" name="MultiOut">
+ <wsdlsoap:address location="http://localhost/axis/MultiOut"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/NestedArrays.wsdl b/test/resources/wsdl/NestedArrays.wsdl
new file mode 100644
index 0000000..17760b7
--- /dev/null
+++ b/test/resources/wsdl/NestedArrays.wsdl
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://complexissues.test.apache.org" xmlns:impl="http://complexissues.test.apache.org" xmlns:intf="http://complexissues.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://complexissues.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://complexissues.test.apache.org" xmlns:intf="http://complexissues.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <complexType name="ArrayOfArrayOf_xsd_int">
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="item" nillable="true" type="impl:ArrayOf_xsd_int"/>
+ </sequence>
+ </complexType>
+ <complexType name="ArrayOf_xsd_int">
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="item" nillable="true" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ <element name="sendNestedArrays">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="arg_0_0" type="impl:ArrayOfArrayOf_xsd_int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="sendNestedArraysResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="sendNestedArraysReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="sendNestedArraysResponse">
+
+ <wsdl:part element="impl:sendNestedArraysResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="sendNestedArraysRequest">
+
+ <wsdl:part element="impl:sendNestedArrays" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:portType name="NestedArrays">
+
+ <wsdl:operation name="sendNestedArrays">
+
+ <wsdl:input message="impl:sendNestedArraysRequest" name="sendNestedArraysRequest"/>
+
+ <wsdl:output message="impl:sendNestedArraysResponse" name="sendNestedArraysResponse"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="NestedArraysSoapBinding" type="impl:NestedArrays">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="sendNestedArrays">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="sendNestedArraysRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="sendNestedArraysResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="NestedArraysService">
+
+ <wsdl:port binding="impl:NestedArraysSoapBinding" name="NestedArrays">
+
+ <wsdlsoap:address location="http://lion:9080/NestedArrays/services/NestedArrays"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/test/resources/wsdl/NestedComplex.wsdl b/test/resources/wsdl/NestedComplex.wsdl
new file mode 100644
index 0000000..6384ce1
--- /dev/null
+++ b/test/resources/wsdl/NestedComplex.wsdl
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://nestedcomplex.test.apache.org" xmlns:impl="http://nestedcomplex.test.apache.org" xmlns:intf="http://nestedcomplex.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://nestedcomplex.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://nestedcomplex.test.apache.org" xmlns:intf="http://nestedcomplex.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <complexType name="ComplexType2">
+ <sequence>
+ <element maxOccurs="unbounded" name="complexType1Array" nillable="true" type="impl:ComplexType1"/>
+ </sequence>
+ </complexType>
+ <complexType name="ComplexType1">
+ <sequence>
+ <element name="simpleArrays" nillable="true" type="impl:SimpleArrays"/>
+ <element name="ct1_string" nillable="true" type="xsd:string"/>
+ <element name="ct1_int" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ <complexType name="SimpleArrays">
+ <sequence>
+ <element maxOccurs="unbounded" name="intArray" type="xsd:int"/>
+ <element maxOccurs="unbounded" name="stringArray" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ <element name="echoNestedComplex">
+ <complexType>
+ <sequence>
+ <element name="arg_0_0" nillable="true" type="impl:ComplexType2"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoNestedComplexResponse">
+ <complexType>
+ <sequence>
+ <element name="echoNestedComplexReturn" nillable="true" type="impl:ComplexType2"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoNestedComplexArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="arg_0_1" type="impl:ComplexType1"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoNestedComplexArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="echoNestedComplexArrayReturn" type="impl:ComplexType1"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="echoNestedComplexArrayResponse">
+ <wsdl:part element="impl:echoNestedComplexArrayResponse" name="parameters"/>
+ </wsdl:message>
+
+ <wsdl:message name="echoNestedComplexArrayRequest">
+ <wsdl:part element="impl:echoNestedComplexArray" name="parameters"/>
+ </wsdl:message>
+
+ <wsdl:message name="echoNestedComplexResponse">
+ <wsdl:part element="impl:echoNestedComplexResponse" name="parameters"/>
+ </wsdl:message>
+
+ <wsdl:message name="echoNestedComplexRequest">
+ <wsdl:part element="impl:echoNestedComplex" name="parameters"/>
+ </wsdl:message>
+
+ <wsdl:portType name="NestedComplex">
+ <wsdl:operation name="echoNestedComplex">
+ <wsdl:input message="impl:echoNestedComplexRequest" name="echoNestedComplexRequest"/>
+ <wsdl:output message="impl:echoNestedComplexResponse" name="echoNestedComplexResponse"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="echoNestedComplexArray">
+ <wsdl:input message="impl:echoNestedComplexArrayRequest" name="echoNestedComplexArrayRequest"/>
+ <wsdl:output message="impl:echoNestedComplexArrayResponse" name="echoNestedComplexArrayResponse"/>
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="NestedComplexSoapBinding" type="impl:NestedComplex">
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="echoNestedComplex">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="echoNestedComplexRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="echoNestedComplexResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="echoNestedComplexArray">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="echoNestedComplexArrayRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="echoNestedComplexArrayResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="NestedComplexService">
+ <wsdl:port binding="impl:NestedComplexSoapBinding" name="NestedComplex">
+ <wsdlsoap:address location="http://tiger:7001/NestedComplex/services/NestedComplex"/>
+ </wsdl:port>
+ </wsdl:service>
+
+</wsdl:definitions>
+
diff --git a/test/resources/wsdl/NillableArrays.wsdl b/test/resources/wsdl/NillableArrays.wsdl
new file mode 100644
index 0000000..42028f0
--- /dev/null
+++ b/test/resources/wsdl/NillableArrays.wsdl
@@ -0,0 +1,266 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://arrays.test.apache.org" xmlns:impl="http://arrays.test.apache.org" xmlns:intf="http://arrays.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://arrays.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://arrays.test.apache.org" xmlns:intf="http://arrays.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <element name="echoBooleanArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="arg_0_0" type="xsd:boolean"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoBooleanArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="echoBooleanArrayReturn" type="xsd:boolean"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoShortArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="arg_0_2" type="xsd:short"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoShortArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="echoShortArrayReturn" type="xsd:short"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoIntArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="arg_0_3" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoIntArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="echoIntArrayReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoLongArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="arg_0_4" type="xsd:long"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoLongArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="echoLongArrayReturn" type="xsd:long"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoFloatArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="arg_0_5" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoFloatArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="echoFloatArrayReturn" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoDoubleArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="arg_0_6" type="xsd:double"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoDoubleArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="echoDoubleArrayReturn" type="xsd:double"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStringArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="arg_0_7" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStringArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" nillable="true" name="echoStringArrayReturn" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+ <wsdl:message name="echoDoubleArrayRequest">
+ <wsdl:part element="impl:echoDoubleArray" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoIntArrayResponse">
+ <wsdl:part element="impl:echoIntArrayResponse" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoShortArrayRequest">
+ <wsdl:part element="impl:echoShortArray" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoShortArrayResponse">
+ <wsdl:part element="impl:echoShortArrayResponse" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoIntArrayRequest">
+ <wsdl:part element="impl:echoIntArray" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoDoubleArrayResponse">
+ <wsdl:part element="impl:echoDoubleArrayResponse" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoBooleanArrayResponse">
+ <wsdl:part element="impl:echoBooleanArrayResponse" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoBooleanArrayRequest">
+ <wsdl:part element="impl:echoBooleanArray" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoLongArrayRequest">
+ <wsdl:part element="impl:echoLongArray" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoFloatArrayRequest">
+ <wsdl:part element="impl:echoFloatArray" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoStringArrayRequest">
+ <wsdl:part element="impl:echoStringArray" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoLongArrayResponse">
+ <wsdl:part element="impl:echoLongArrayResponse" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoStringArrayResponse">
+ <wsdl:part element="impl:echoStringArrayResponse" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoFloatArrayResponse">
+ <wsdl:part element="impl:echoFloatArrayResponse" name="parameters"/>
+ </wsdl:message>
+
+ <wsdl:portType name="NillableArrays">
+ <wsdl:operation name="echoBooleanArray">
+ <wsdl:input message="impl:echoBooleanArrayRequest" name="echoBooleanArrayRequest"/>
+ <wsdl:output message="impl:echoBooleanArrayResponse" name="echoBooleanArrayResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="echoShortArray">
+ <wsdl:input message="impl:echoShortArrayRequest" name="echoShortArrayRequest"/>
+ <wsdl:output message="impl:echoShortArrayResponse" name="echoShortArrayResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="echoIntArray">
+ <wsdl:input message="impl:echoIntArrayRequest" name="echoIntArrayRequest"/>
+ <wsdl:output message="impl:echoIntArrayResponse" name="echoIntArrayResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="echoLongArray">
+ <wsdl:input message="impl:echoLongArrayRequest" name="echoLongArrayRequest"/>
+ <wsdl:output message="impl:echoLongArrayResponse" name="echoLongArrayResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="echoFloatArray">
+ <wsdl:input message="impl:echoFloatArrayRequest" name="echoFloatArrayRequest"/>
+ <wsdl:output message="impl:echoFloatArrayResponse" name="echoFloatArrayResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="echoDoubleArray">
+ <wsdl:input message="impl:echoDoubleArrayRequest" name="echoDoubleArrayRequest"/>
+ <wsdl:output message="impl:echoDoubleArrayResponse" name="echoDoubleArrayResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="echoStringArray">
+ <wsdl:input message="impl:echoStringArrayRequest" name="echoStringArrayRequest"/>
+ <wsdl:output message="impl:echoStringArrayResponse" name="echoStringArrayResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:binding name="NillableArraysSoapBinding" type="impl:NillableArrays">
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="echoBooleanArray">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="echoBooleanArrayRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="echoBooleanArrayResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="echoShortArray">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="echoShortArrayRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="echoShortArrayResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="echoIntArray">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="echoIntArrayRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="echoIntArrayResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="echoLongArray">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="echoLongArrayRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="echoLongArrayResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="echoFloatArray">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="echoFloatArrayRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="echoFloatArrayResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="echoDoubleArray">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="echoDoubleArrayRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="echoDoubleArrayResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="echoStringArray">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="echoStringArrayRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="echoStringArrayResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="NillableArraysService">
+ <wsdl:port binding="impl:NillableArraysSoapBinding" name="NillableArraysPort">
+ <wsdlsoap:address location="http://lion:9080/NillableArrays/services/NillableArraysPort"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/OtherFaultException.wsdl b/test/resources/wsdl/OtherFaultException.wsdl
new file mode 100644
index 0000000..56b66d1
--- /dev/null
+++ b/test/resources/wsdl/OtherFaultException.wsdl
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://soapinterop.org/wsdl" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org/wsdl" xmlns:intf="http://soapinterop.org/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/wsdl" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org/wsdl" xmlns:intf="http://soapinterop.org/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <element name="div">
+ <complexType>
+ <sequence>
+ <element name="arg_0_0" type="xsd:int"/>
+ <element name="arg_1_0" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="divResponse">
+ <complexType>
+ <sequence>
+ <element name="divReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="divRequest">
+
+ <wsdl:part element="impl:div" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="divResponse">
+
+ <wsdl:part element="impl:divResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+ <wsdl:portType name="MathOps">
+
+ <wsdl:operation name="div">
+
+ <wsdl:input message="impl:divRequest" name="divRequest"/>
+
+ <wsdl:output message="impl:divResponse" name="divResponse"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="MathOpsSoapBinding" type="impl:MathOps">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="div">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="divRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="divResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="MathOpsService">
+
+ <wsdl:port binding="impl:MathOpsSoapBinding" name="MathOps">
+
+ <wsdlsoap:address location="http://localhost/axis/MathOps"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/test/resources/wsdl/PlainTextAttachment.wsdl b/test/resources/wsdl/PlainTextAttachment.wsdl
new file mode 100644
index 0000000..89b3fb3
--- /dev/null
+++ b/test/resources/wsdl/PlainTextAttachment.wsdl
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions targetNamespace="http://PlainTextAttachment"
+ xmlns:impl="http://PlainTextAttachment"
+ xmlns:intf="http://PlainTextAttachment"
+ xmlns:tns2="http://xml.apache.org/xml-soap"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <wsdl:types>
+ <schema elementFormDefault="qualified"
+ targetNamespace="http://PlainTextAttachment"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:impl="http://PlainTextAttachment"
+ xmlns:intf="http://PlainTextAttachment"
+ xmlns:tns2="http://xml.apache.org/xml-soap"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <element name="echoText">
+ <complexType>
+ <sequence>
+ <element name="arg2" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoTextResponse">
+ <complexType>
+ <sequence>
+ <element name="echoTextReturn" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="echoTextRequest">
+ <wsdl:part element="impl:echoText" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoTextResponse">
+ <wsdl:part element="impl:echoTextResponse" name="parameters"/>
+ </wsdl:message>
+
+ <wsdl:portType name="AttachmentBindingImpl">
+ <wsdl:operation name="echoText">
+ <wsdl:input message="impl:echoTextRequest" name="echoTextRequest"/>
+ <wsdl:output message="impl:echoTextResponse" name="echoTextResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:binding name="PlainTextAttachmentSoapBinding" type="impl:AttachmentBindingImpl">
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="echoText">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="echoTextRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="echoTextResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="AttachmentBindingImplService">
+ <wsdl:port binding="impl:PlainTextAttachmentSoapBinding" name="PlainTextAttachment">
+ <wsdlsoap:address location="http://localhost:9080/PlainTextAttachment/services/PlainTextAttachment"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/PrimitiveAndArray.wsdl b/test/resources/wsdl/PrimitiveAndArray.wsdl
new file mode 100644
index 0000000..083cbca
--- /dev/null
+++ b/test/resources/wsdl/PrimitiveAndArray.wsdl
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://complexissues.test.apache.org" xmlns:impl="http://complexissues.test.apache.org" xmlns:intf="http://complexissues.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://complexissues.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://complexissues.test.apache.org" xmlns:intf="http://complexissues.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <element name="sendPrimitiveAndArray">
+ <complexType>
+ <sequence>
+ <element name="arg_0_0" type="xsd:int"/>
+ <element maxOccurs="unbounded" minOccurs="0" name="arg_1_0" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <complexType name="ComplexReturn">
+ <sequence>
+ <element name="returnInt" type="xsd:int"/>
+ <element maxOccurs="unbounded" name="returnArray" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ <element name="sendPrimitiveAndArrayResponse">
+ <complexType>
+ <sequence>
+ <element name="sendPrimitiveAndArrayReturn" nillable="true" type="impl:ComplexReturn"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="sendArrayAndPrimitive">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="arg_0_1" type="xsd:int"/>
+ <element name="arg_1_1" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="sendArrayAndPrimitiveResponse">
+ <complexType>
+ <sequence>
+ <element name="sendArrayAndPrimitiveReturn" nillable="true" type="impl:ComplexReturn"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="sendPrimitiveAndArrayResponse">
+
+ <wsdl:part element="impl:sendPrimitiveAndArrayResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="sendPrimitiveAndArrayRequest">
+
+ <wsdl:part element="impl:sendPrimitiveAndArray" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="sendArrayAndPrimitiveResponse">
+
+ <wsdl:part element="impl:sendArrayAndPrimitiveResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="sendArrayAndPrimitiveRequest">
+
+ <wsdl:part element="impl:sendArrayAndPrimitive" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:portType name="PrimitiveAndArray">
+
+ <wsdl:operation name="sendPrimitiveAndArray">
+
+ <wsdl:input message="impl:sendPrimitiveAndArrayRequest" name="sendPrimitiveAndArrayRequest"/>
+
+ <wsdl:output message="impl:sendPrimitiveAndArrayResponse" name="sendPrimitiveAndArrayResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="sendArrayAndPrimitive">
+
+ <wsdl:input message="impl:sendArrayAndPrimitiveRequest" name="sendArrayAndPrimitiveRequest"/>
+
+ <wsdl:output message="impl:sendArrayAndPrimitiveResponse" name="sendArrayAndPrimitiveResponse"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="PrimitiveAndArraySoapBinding" type="impl:PrimitiveAndArray">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="sendPrimitiveAndArray">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="sendPrimitiveAndArrayRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="sendPrimitiveAndArrayResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="sendArrayAndPrimitive">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="sendArrayAndPrimitiveRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="sendArrayAndPrimitiveResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="PrimitiveAndArrayService">
+
+ <wsdl:port binding="impl:PrimitiveAndArraySoapBinding" name="PrimitiveAndArray">
+
+ <wsdlsoap:address location="http://lion:9080/PrimitiveAndArray/services/PrimitiveAndArray"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/test/resources/wsdl/RPCAllTest.wsdl b/test/resources/wsdl/RPCAllTest.wsdl
new file mode 100644
index 0000000..1a86d52
--- /dev/null
+++ b/test/resources/wsdl/RPCAllTest.wsdl
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+
+<!-- WSDL description of the MAST ADEC TWIG api. -->
+
+<definitions name="urn:ADEC_MAST"
+ targetNamespace="urn:ADEC_MAST"
+ xmlns:typens="urn:ADEC_MAST"
+ 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/">
+
+ <!-- Types for search - result elements, directory categories -->
+
+ <types>
+ <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:ADEC_MAST">
+
+ <xsd:complexType name="SummaryResult">
+ <xsd:sequence>
+ <xsd:element minOccurs="1" maxOccurs="1" name="NonAllIntValue" type="xsd:int" />
+ <xsd:element minOccurs="1" maxOccurs="1" name="NonAllDoubleValue" type="xsd:double" />
+ </xsd:sequence>
+ <xsd:all>
+ <xsd:element name="length" type="xsd:int"/>
+ <xsd:element minOccurs="0" name="width" type="xsd:int"/>
+ <xsd:element minOccurs="0" name="depth" type="xsd:double"/>
+ <xsd:element minOccurs="0" name="color" type="xsd:string"/>
+ </xsd:all>
+ <xsd:sequence>
+ <xsd:element minOccurs="1" maxOccurs="1" name="NonAllStringValue" type="xsd:string" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="SummaryResultArray">
+ <xsd:complexContent>
+ <xsd:restriction base="soapenc:Array">
+ <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:SummaryResult[]"/>
+ </xsd:restriction>
+ </xsd:complexContent>
+
+ </xsd:complexType>
+
+ </xsd:schema>
+ </types>
+
+ <!-- Messages for ADEC MAST Web APIs - get summary by position. -->
+
+ <message name="doGetSummary">
+ <part name="length" type="xsd:int"/>
+ <part name="width" type="xsd:int"/>
+ <part name="depth" type="xsd:double"/>
+ <part name="color" type="xsd:string"/>
+ </message>
+
+ <message name="doGetSummaryResponse">
+ <part name="return" type="typens:SummaryResult"/>
+ </message>
+
+ <!-- Port for ADEC MAST Web APIs, "ADEC_MAST" -->
+
+ <portType name="ADEC_MAST_Port">
+
+ <operation name="doGetSummary">
+ <input message="typens:doGetSummary"/>
+ <output message="typens:doGetSummaryResponse"/>
+ </operation>
+
+ </portType>
+
+
+ <!-- Binding for ADEC MAST Web APIs - RPC, SOAP over HTTP -->
+
+ <binding name="ADEC_MAST_Binding" type="typens:ADEC_MAST_Port">
+ <soap:binding style="rpc"
+ transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <operation name="doGetSummary">
+ <soap:operation soapAction="urn:ADEC_MAST#doGetSummary"/>
+ <input>
+ <soap:body use="encoded"
+ namespace="urn:ADEC_MAST"
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded"
+ namespace="urn:ADEC_MAST"
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+
+ </binding>
+
+ <!-- Endpoint for ADEC MAST Web APIs -->
+ <service name="ADEC_MAST_Service">
+ <port name="ADEC_MAST_Port" binding="typens:ADEC_MAST_Binding">
+ <soap:address location="http://faxafloi.stsci.edu:4547/soap/"/>
+ </port>
+ </service>
+
+</definitions>
diff --git a/test/resources/wsdl/RecurseTypes.wsdl b/test/resources/wsdl/RecurseTypes.wsdl
new file mode 100644
index 0000000..4c3546a
--- /dev/null
+++ b/test/resources/wsdl/RecurseTypes.wsdl
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions
+ targetNamespace="http://recursetypes.test.apache.org"
+ xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:tns="http://recursetypes.test.apache.org"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <xsd:schema elementFormDefault="qualified"
+ targetNamespace="http://recursetypes.test.apache.org"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ >
+ <xsd:element name="getInput">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="type" type="tns:Type1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="getInputResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="type" type="tns:Type1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="Type1">
+ <xsd:sequence>
+ <xsd:element name="followings" maxOccurs="unbounded" minOccurs="0" type="tns:Type1" />
+ <xsd:element name="kind" type="xsd:string" />
+ <xsd:element name="index" type="xsd:int" />
+ </xsd:sequence>
+ <xsd:attribute name="att_kind" type="tns:Kind" />
+ </xsd:complexType>
+
+ <xsd:simpleType name="Kind">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="CHEQUE" />
+ <xsd:enumeration value="CREDIT_CARD" />
+ <xsd:enumeration value="TRANSFER" />
+ <xsd:enumeration value="WITHDRAWAL" />
+ <xsd:enumeration value="AUTOMATIC" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ </xsd:schema>
+ </types>
+
+
+ <message name="input">
+ <part name="parameters" element="tns:getInput" />
+ </message>
+
+ <message name="output">
+ <part name="parameters" element="tns:getInputResponse" />
+ </message>
+
+ <portType name="RecurseTypesWS">
+ <operation name="getInput">
+ <input message="tns:input" />
+ <output message="tns:output" />
+ </operation>
+ </portType>
+
+ <binding name="RecurseTypesWSBinding" type="tns:RecurseTypesWS">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="getInput">
+ <soap:operation />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ </operation>
+ </binding>
+
+ <service name="RecurseTypesWSService">
+ <port name="sampleWS" binding="tns:RecurseTypesWSBinding">
+ <soap:address location="http://localhost:9080/RecurseTypes/services/sampleWS" />
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/RpcHttpHeaderTest1.wsdl b/test/resources/wsdl/RpcHttpHeaderTest1.wsdl
new file mode 100644
index 0000000..f7d1945
--- /dev/null
+++ b/test/resources/wsdl/RpcHttpHeaderTest1.wsdl
@@ -0,0 +1,333 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="ArrayOfstring">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfint">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOffloat">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfSOAPStruct">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="SOAPStruct">
+ <all>
+ <element name="varString" type="string"/>
+ <element name="varInt" type="int"/>
+ <element name="varFloat" type="float"/>
+ </all>
+ </complexType>
+ </schema>
+ </types>
+
+ <message name="echoStringRequest">
+ <part name="inputString" type="xsd:string"/>
+ </message>
+ <message name="echoStringResponse">
+ <part name="return" type="xsd:string"/>
+ </message>
+ <message name="echoStringArrayRequest">
+ <part name="inputStringArray" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoStringArrayResponse">
+ <part name="return" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoIntegerRequest">
+ <part name="inputInteger" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerResponse">
+ <part name="return" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerArrayRequest">
+ <part name="inputIntegerArray" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoIntegerArrayResponse">
+ <part name="return" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoFloatRequest">
+ <part name="inputFloat" type="xsd:float"/>
+ </message>
+ <message name="echoFloatResponse">
+ <part name="return" type="xsd:float"/>
+ </message>
+ <message name="echoFloatArrayRequest">
+ <part name="inputFloatArray" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoFloatArrayResponse">
+ <part name="return" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoStructRequest">
+ <part name="inputStruct" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructResponse">
+ <part name="return" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructArrayRequest">
+ <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoStructArrayResponse">
+ <part name="return" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoVoidRequest"/>
+ <message name="echoVoidResponse"/>
+ <message name="echoBase64Request">
+ <part name="inputBase64" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoBase64Response">
+ <part name="return" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoDateRequest">
+ <part name="inputDate" type="xsd:dateTime"/>
+ </message>
+ <message name="echoDateResponse">
+ <part name="return" type="xsd:dateTime"/>
+ </message>
+ <message name="echoHexBinaryRequest">
+ <part name="inputHexBinary" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoHexBinaryResponse">
+ <part name="return" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoDecimalRequest">
+ <part name="inputDecimal" type="xsd:decimal"/>
+ </message>
+ <message name="echoDecimalResponse">
+ <part name="return" type="xsd:decimal"/>
+ </message>
+ <message name="echoBooleanRequest">
+ <part name="inputBoolean" type="xsd:boolean"/>
+ </message>
+ <message name="echoBooleanResponse">
+ <part name="return" type="xsd:boolean"/>
+ </message>
+
+ <portType name="InteropTestPortType">
+ <operation name="echoString" parameterOrder="inputString">
+ <input message="tns:echoStringRequest"/>
+ <output message="tns:echoStringResponse"/>
+ </operation>
+ <operation name="echoStringArray" parameterOrder="inputStringArray">
+ <input message="tns:echoStringArrayRequest"/>
+ <output message="tns:echoStringArrayResponse"/>
+ </operation>
+ <operation name="echoInteger" parameterOrder="inputInteger">
+ <input message="tns:echoIntegerRequest"/>
+ <output message="tns:echoIntegerResponse"/>
+ </operation>
+ <operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
+ <input message="tns:echoIntegerArrayRequest"/>
+ <output message="tns:echoIntegerArrayResponse"/>
+ </operation>
+ <operation name="echoFloat" parameterOrder="inputFloat">
+ <input message="tns:echoFloatRequest"/>
+ <output message="tns:echoFloatResponse"/>
+ </operation>
+ <operation name="echoFloatArray" parameterOrder="inputFloatArray">
+ <input message="tns:echoFloatArrayRequest"/>
+ <output message="tns:echoFloatArrayResponse"/>
+ </operation>
+ <operation name="echoStruct" parameterOrder="inputStruct">
+ <input message="tns:echoStructRequest"/>
+ <output message="tns:echoStructResponse"/>
+ </operation>
+ <operation name="echoStructArray" parameterOrder="inputStructArray">
+ <input message="tns:echoStructArrayRequest"/>
+ <output message="tns:echoStructArrayResponse"/>
+ </operation>
+ <operation name="echoVoid">
+ <input message="tns:echoVoidRequest"/>
+ <output message="tns:echoVoidResponse"/>
+ </operation>
+ <operation name="echoBase64" parameterOrder="inputBase64">
+ <input message="tns:echoBase64Request"/>
+ <output message="tns:echoBase64Response"/>
+ </operation>
+ <operation name="echoDate" parameterOrder="inputDate">
+ <input message="tns:echoDateRequest"/>
+ <output message="tns:echoDateResponse"/>
+ </operation>
+ <operation name="echoHexBinary" parameterOrder="inputHexBinary">
+ <input message="tns:echoHexBinaryRequest"/>
+ <output message="tns:echoHexBinaryResponse"/>
+ </operation>
+ <operation name="echoDecimal" parameterOrder="inputDecimal">
+ <input message="tns:echoDecimalRequest"/>
+ <output message="tns:echoDecimalResponse"/>
+ </operation>
+ <operation name="echoBoolean" parameterOrder="inputBoolean">
+ <input message="tns:echoBooleanRequest"/>
+ <output message="tns:echoBooleanResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoString">
+ <soap:operation soapAction="InteropBase#echoString"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStringArray">
+ <soap:operation soapAction="InteropBase#echoStringArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoInteger">
+ <soap:operation soapAction="InteropBase#echoInteger"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoIntegerArray">
+ <soap:operation soapAction="InteropBase#echoIntegerArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloat">
+ <soap:operation soapAction="InteropBase#echoFloat"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloatArray">
+ <soap:operation soapAction="InteropBase#echoFloatArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStruct">
+ <soap:operation soapAction="InteropBase#echoStruct"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStructArray">
+ <soap:operation soapAction="InteropBase#echoStructArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoVoid">
+ <soap:operation soapAction="InteropBase#echoVoid"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBase64">
+ <soap:operation soapAction="InteropBase#echoBase64"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDate">
+ <soap:operation soapAction="InteropBase#echoDate"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoHexBinary">
+ <soap:operation soapAction="InteropBase#echoHexBinary"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDecimal">
+ <soap:operation soapAction="InteropBase#echoDecimal"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBoolean">
+ <soap:operation soapAction="InteropBase#echoBoolean"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="InteropBase">
+ <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest">
+ <soap:address location="http://localhost/axis/InteropBase"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/RpcHttpHeaderTest2.wsdl b/test/resources/wsdl/RpcHttpHeaderTest2.wsdl
new file mode 100644
index 0000000..f7d1945
--- /dev/null
+++ b/test/resources/wsdl/RpcHttpHeaderTest2.wsdl
@@ -0,0 +1,333 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="ArrayOfstring">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfint">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOffloat">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfSOAPStruct">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="SOAPStruct">
+ <all>
+ <element name="varString" type="string"/>
+ <element name="varInt" type="int"/>
+ <element name="varFloat" type="float"/>
+ </all>
+ </complexType>
+ </schema>
+ </types>
+
+ <message name="echoStringRequest">
+ <part name="inputString" type="xsd:string"/>
+ </message>
+ <message name="echoStringResponse">
+ <part name="return" type="xsd:string"/>
+ </message>
+ <message name="echoStringArrayRequest">
+ <part name="inputStringArray" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoStringArrayResponse">
+ <part name="return" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoIntegerRequest">
+ <part name="inputInteger" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerResponse">
+ <part name="return" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerArrayRequest">
+ <part name="inputIntegerArray" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoIntegerArrayResponse">
+ <part name="return" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoFloatRequest">
+ <part name="inputFloat" type="xsd:float"/>
+ </message>
+ <message name="echoFloatResponse">
+ <part name="return" type="xsd:float"/>
+ </message>
+ <message name="echoFloatArrayRequest">
+ <part name="inputFloatArray" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoFloatArrayResponse">
+ <part name="return" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoStructRequest">
+ <part name="inputStruct" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructResponse">
+ <part name="return" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructArrayRequest">
+ <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoStructArrayResponse">
+ <part name="return" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoVoidRequest"/>
+ <message name="echoVoidResponse"/>
+ <message name="echoBase64Request">
+ <part name="inputBase64" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoBase64Response">
+ <part name="return" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoDateRequest">
+ <part name="inputDate" type="xsd:dateTime"/>
+ </message>
+ <message name="echoDateResponse">
+ <part name="return" type="xsd:dateTime"/>
+ </message>
+ <message name="echoHexBinaryRequest">
+ <part name="inputHexBinary" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoHexBinaryResponse">
+ <part name="return" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoDecimalRequest">
+ <part name="inputDecimal" type="xsd:decimal"/>
+ </message>
+ <message name="echoDecimalResponse">
+ <part name="return" type="xsd:decimal"/>
+ </message>
+ <message name="echoBooleanRequest">
+ <part name="inputBoolean" type="xsd:boolean"/>
+ </message>
+ <message name="echoBooleanResponse">
+ <part name="return" type="xsd:boolean"/>
+ </message>
+
+ <portType name="InteropTestPortType">
+ <operation name="echoString" parameterOrder="inputString">
+ <input message="tns:echoStringRequest"/>
+ <output message="tns:echoStringResponse"/>
+ </operation>
+ <operation name="echoStringArray" parameterOrder="inputStringArray">
+ <input message="tns:echoStringArrayRequest"/>
+ <output message="tns:echoStringArrayResponse"/>
+ </operation>
+ <operation name="echoInteger" parameterOrder="inputInteger">
+ <input message="tns:echoIntegerRequest"/>
+ <output message="tns:echoIntegerResponse"/>
+ </operation>
+ <operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
+ <input message="tns:echoIntegerArrayRequest"/>
+ <output message="tns:echoIntegerArrayResponse"/>
+ </operation>
+ <operation name="echoFloat" parameterOrder="inputFloat">
+ <input message="tns:echoFloatRequest"/>
+ <output message="tns:echoFloatResponse"/>
+ </operation>
+ <operation name="echoFloatArray" parameterOrder="inputFloatArray">
+ <input message="tns:echoFloatArrayRequest"/>
+ <output message="tns:echoFloatArrayResponse"/>
+ </operation>
+ <operation name="echoStruct" parameterOrder="inputStruct">
+ <input message="tns:echoStructRequest"/>
+ <output message="tns:echoStructResponse"/>
+ </operation>
+ <operation name="echoStructArray" parameterOrder="inputStructArray">
+ <input message="tns:echoStructArrayRequest"/>
+ <output message="tns:echoStructArrayResponse"/>
+ </operation>
+ <operation name="echoVoid">
+ <input message="tns:echoVoidRequest"/>
+ <output message="tns:echoVoidResponse"/>
+ </operation>
+ <operation name="echoBase64" parameterOrder="inputBase64">
+ <input message="tns:echoBase64Request"/>
+ <output message="tns:echoBase64Response"/>
+ </operation>
+ <operation name="echoDate" parameterOrder="inputDate">
+ <input message="tns:echoDateRequest"/>
+ <output message="tns:echoDateResponse"/>
+ </operation>
+ <operation name="echoHexBinary" parameterOrder="inputHexBinary">
+ <input message="tns:echoHexBinaryRequest"/>
+ <output message="tns:echoHexBinaryResponse"/>
+ </operation>
+ <operation name="echoDecimal" parameterOrder="inputDecimal">
+ <input message="tns:echoDecimalRequest"/>
+ <output message="tns:echoDecimalResponse"/>
+ </operation>
+ <operation name="echoBoolean" parameterOrder="inputBoolean">
+ <input message="tns:echoBooleanRequest"/>
+ <output message="tns:echoBooleanResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoString">
+ <soap:operation soapAction="InteropBase#echoString"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStringArray">
+ <soap:operation soapAction="InteropBase#echoStringArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoInteger">
+ <soap:operation soapAction="InteropBase#echoInteger"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoIntegerArray">
+ <soap:operation soapAction="InteropBase#echoIntegerArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloat">
+ <soap:operation soapAction="InteropBase#echoFloat"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloatArray">
+ <soap:operation soapAction="InteropBase#echoFloatArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStruct">
+ <soap:operation soapAction="InteropBase#echoStruct"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStructArray">
+ <soap:operation soapAction="InteropBase#echoStructArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoVoid">
+ <soap:operation soapAction="InteropBase#echoVoid"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBase64">
+ <soap:operation soapAction="InteropBase#echoBase64"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDate">
+ <soap:operation soapAction="InteropBase#echoDate"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoHexBinary">
+ <soap:operation soapAction="InteropBase#echoHexBinary"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDecimal">
+ <soap:operation soapAction="InteropBase#echoDecimal"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBoolean">
+ <soap:operation soapAction="InteropBase#echoBoolean"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="InteropBase">
+ <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest">
+ <soap:address location="http://localhost/axis/InteropBase"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/RpcHttpHeaderTest3.wsdl b/test/resources/wsdl/RpcHttpHeaderTest3.wsdl
new file mode 100644
index 0000000..f7d1945
--- /dev/null
+++ b/test/resources/wsdl/RpcHttpHeaderTest3.wsdl
@@ -0,0 +1,333 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="ArrayOfstring">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfint">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOffloat">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfSOAPStruct">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="SOAPStruct">
+ <all>
+ <element name="varString" type="string"/>
+ <element name="varInt" type="int"/>
+ <element name="varFloat" type="float"/>
+ </all>
+ </complexType>
+ </schema>
+ </types>
+
+ <message name="echoStringRequest">
+ <part name="inputString" type="xsd:string"/>
+ </message>
+ <message name="echoStringResponse">
+ <part name="return" type="xsd:string"/>
+ </message>
+ <message name="echoStringArrayRequest">
+ <part name="inputStringArray" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoStringArrayResponse">
+ <part name="return" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoIntegerRequest">
+ <part name="inputInteger" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerResponse">
+ <part name="return" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerArrayRequest">
+ <part name="inputIntegerArray" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoIntegerArrayResponse">
+ <part name="return" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoFloatRequest">
+ <part name="inputFloat" type="xsd:float"/>
+ </message>
+ <message name="echoFloatResponse">
+ <part name="return" type="xsd:float"/>
+ </message>
+ <message name="echoFloatArrayRequest">
+ <part name="inputFloatArray" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoFloatArrayResponse">
+ <part name="return" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoStructRequest">
+ <part name="inputStruct" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructResponse">
+ <part name="return" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructArrayRequest">
+ <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoStructArrayResponse">
+ <part name="return" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoVoidRequest"/>
+ <message name="echoVoidResponse"/>
+ <message name="echoBase64Request">
+ <part name="inputBase64" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoBase64Response">
+ <part name="return" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoDateRequest">
+ <part name="inputDate" type="xsd:dateTime"/>
+ </message>
+ <message name="echoDateResponse">
+ <part name="return" type="xsd:dateTime"/>
+ </message>
+ <message name="echoHexBinaryRequest">
+ <part name="inputHexBinary" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoHexBinaryResponse">
+ <part name="return" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoDecimalRequest">
+ <part name="inputDecimal" type="xsd:decimal"/>
+ </message>
+ <message name="echoDecimalResponse">
+ <part name="return" type="xsd:decimal"/>
+ </message>
+ <message name="echoBooleanRequest">
+ <part name="inputBoolean" type="xsd:boolean"/>
+ </message>
+ <message name="echoBooleanResponse">
+ <part name="return" type="xsd:boolean"/>
+ </message>
+
+ <portType name="InteropTestPortType">
+ <operation name="echoString" parameterOrder="inputString">
+ <input message="tns:echoStringRequest"/>
+ <output message="tns:echoStringResponse"/>
+ </operation>
+ <operation name="echoStringArray" parameterOrder="inputStringArray">
+ <input message="tns:echoStringArrayRequest"/>
+ <output message="tns:echoStringArrayResponse"/>
+ </operation>
+ <operation name="echoInteger" parameterOrder="inputInteger">
+ <input message="tns:echoIntegerRequest"/>
+ <output message="tns:echoIntegerResponse"/>
+ </operation>
+ <operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
+ <input message="tns:echoIntegerArrayRequest"/>
+ <output message="tns:echoIntegerArrayResponse"/>
+ </operation>
+ <operation name="echoFloat" parameterOrder="inputFloat">
+ <input message="tns:echoFloatRequest"/>
+ <output message="tns:echoFloatResponse"/>
+ </operation>
+ <operation name="echoFloatArray" parameterOrder="inputFloatArray">
+ <input message="tns:echoFloatArrayRequest"/>
+ <output message="tns:echoFloatArrayResponse"/>
+ </operation>
+ <operation name="echoStruct" parameterOrder="inputStruct">
+ <input message="tns:echoStructRequest"/>
+ <output message="tns:echoStructResponse"/>
+ </operation>
+ <operation name="echoStructArray" parameterOrder="inputStructArray">
+ <input message="tns:echoStructArrayRequest"/>
+ <output message="tns:echoStructArrayResponse"/>
+ </operation>
+ <operation name="echoVoid">
+ <input message="tns:echoVoidRequest"/>
+ <output message="tns:echoVoidResponse"/>
+ </operation>
+ <operation name="echoBase64" parameterOrder="inputBase64">
+ <input message="tns:echoBase64Request"/>
+ <output message="tns:echoBase64Response"/>
+ </operation>
+ <operation name="echoDate" parameterOrder="inputDate">
+ <input message="tns:echoDateRequest"/>
+ <output message="tns:echoDateResponse"/>
+ </operation>
+ <operation name="echoHexBinary" parameterOrder="inputHexBinary">
+ <input message="tns:echoHexBinaryRequest"/>
+ <output message="tns:echoHexBinaryResponse"/>
+ </operation>
+ <operation name="echoDecimal" parameterOrder="inputDecimal">
+ <input message="tns:echoDecimalRequest"/>
+ <output message="tns:echoDecimalResponse"/>
+ </operation>
+ <operation name="echoBoolean" parameterOrder="inputBoolean">
+ <input message="tns:echoBooleanRequest"/>
+ <output message="tns:echoBooleanResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoString">
+ <soap:operation soapAction="InteropBase#echoString"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStringArray">
+ <soap:operation soapAction="InteropBase#echoStringArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoInteger">
+ <soap:operation soapAction="InteropBase#echoInteger"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoIntegerArray">
+ <soap:operation soapAction="InteropBase#echoIntegerArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloat">
+ <soap:operation soapAction="InteropBase#echoFloat"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloatArray">
+ <soap:operation soapAction="InteropBase#echoFloatArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStruct">
+ <soap:operation soapAction="InteropBase#echoStruct"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStructArray">
+ <soap:operation soapAction="InteropBase#echoStructArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoVoid">
+ <soap:operation soapAction="InteropBase#echoVoid"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBase64">
+ <soap:operation soapAction="InteropBase#echoBase64"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDate">
+ <soap:operation soapAction="InteropBase#echoDate"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoHexBinary">
+ <soap:operation soapAction="InteropBase#echoHexBinary"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDecimal">
+ <soap:operation soapAction="InteropBase#echoDecimal"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBoolean">
+ <soap:operation soapAction="InteropBase#echoBoolean"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="InteropBase">
+ <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest">
+ <soap:address location="http://localhost/axis/InteropBase"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/RpcHttpHeaderTest4.wsdl b/test/resources/wsdl/RpcHttpHeaderTest4.wsdl
new file mode 100644
index 0000000..f7d1945
--- /dev/null
+++ b/test/resources/wsdl/RpcHttpHeaderTest4.wsdl
@@ -0,0 +1,333 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="ArrayOfstring">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfint">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOffloat">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfSOAPStruct">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="SOAPStruct">
+ <all>
+ <element name="varString" type="string"/>
+ <element name="varInt" type="int"/>
+ <element name="varFloat" type="float"/>
+ </all>
+ </complexType>
+ </schema>
+ </types>
+
+ <message name="echoStringRequest">
+ <part name="inputString" type="xsd:string"/>
+ </message>
+ <message name="echoStringResponse">
+ <part name="return" type="xsd:string"/>
+ </message>
+ <message name="echoStringArrayRequest">
+ <part name="inputStringArray" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoStringArrayResponse">
+ <part name="return" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoIntegerRequest">
+ <part name="inputInteger" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerResponse">
+ <part name="return" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerArrayRequest">
+ <part name="inputIntegerArray" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoIntegerArrayResponse">
+ <part name="return" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoFloatRequest">
+ <part name="inputFloat" type="xsd:float"/>
+ </message>
+ <message name="echoFloatResponse">
+ <part name="return" type="xsd:float"/>
+ </message>
+ <message name="echoFloatArrayRequest">
+ <part name="inputFloatArray" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoFloatArrayResponse">
+ <part name="return" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoStructRequest">
+ <part name="inputStruct" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructResponse">
+ <part name="return" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructArrayRequest">
+ <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoStructArrayResponse">
+ <part name="return" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoVoidRequest"/>
+ <message name="echoVoidResponse"/>
+ <message name="echoBase64Request">
+ <part name="inputBase64" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoBase64Response">
+ <part name="return" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoDateRequest">
+ <part name="inputDate" type="xsd:dateTime"/>
+ </message>
+ <message name="echoDateResponse">
+ <part name="return" type="xsd:dateTime"/>
+ </message>
+ <message name="echoHexBinaryRequest">
+ <part name="inputHexBinary" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoHexBinaryResponse">
+ <part name="return" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoDecimalRequest">
+ <part name="inputDecimal" type="xsd:decimal"/>
+ </message>
+ <message name="echoDecimalResponse">
+ <part name="return" type="xsd:decimal"/>
+ </message>
+ <message name="echoBooleanRequest">
+ <part name="inputBoolean" type="xsd:boolean"/>
+ </message>
+ <message name="echoBooleanResponse">
+ <part name="return" type="xsd:boolean"/>
+ </message>
+
+ <portType name="InteropTestPortType">
+ <operation name="echoString" parameterOrder="inputString">
+ <input message="tns:echoStringRequest"/>
+ <output message="tns:echoStringResponse"/>
+ </operation>
+ <operation name="echoStringArray" parameterOrder="inputStringArray">
+ <input message="tns:echoStringArrayRequest"/>
+ <output message="tns:echoStringArrayResponse"/>
+ </operation>
+ <operation name="echoInteger" parameterOrder="inputInteger">
+ <input message="tns:echoIntegerRequest"/>
+ <output message="tns:echoIntegerResponse"/>
+ </operation>
+ <operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
+ <input message="tns:echoIntegerArrayRequest"/>
+ <output message="tns:echoIntegerArrayResponse"/>
+ </operation>
+ <operation name="echoFloat" parameterOrder="inputFloat">
+ <input message="tns:echoFloatRequest"/>
+ <output message="tns:echoFloatResponse"/>
+ </operation>
+ <operation name="echoFloatArray" parameterOrder="inputFloatArray">
+ <input message="tns:echoFloatArrayRequest"/>
+ <output message="tns:echoFloatArrayResponse"/>
+ </operation>
+ <operation name="echoStruct" parameterOrder="inputStruct">
+ <input message="tns:echoStructRequest"/>
+ <output message="tns:echoStructResponse"/>
+ </operation>
+ <operation name="echoStructArray" parameterOrder="inputStructArray">
+ <input message="tns:echoStructArrayRequest"/>
+ <output message="tns:echoStructArrayResponse"/>
+ </operation>
+ <operation name="echoVoid">
+ <input message="tns:echoVoidRequest"/>
+ <output message="tns:echoVoidResponse"/>
+ </operation>
+ <operation name="echoBase64" parameterOrder="inputBase64">
+ <input message="tns:echoBase64Request"/>
+ <output message="tns:echoBase64Response"/>
+ </operation>
+ <operation name="echoDate" parameterOrder="inputDate">
+ <input message="tns:echoDateRequest"/>
+ <output message="tns:echoDateResponse"/>
+ </operation>
+ <operation name="echoHexBinary" parameterOrder="inputHexBinary">
+ <input message="tns:echoHexBinaryRequest"/>
+ <output message="tns:echoHexBinaryResponse"/>
+ </operation>
+ <operation name="echoDecimal" parameterOrder="inputDecimal">
+ <input message="tns:echoDecimalRequest"/>
+ <output message="tns:echoDecimalResponse"/>
+ </operation>
+ <operation name="echoBoolean" parameterOrder="inputBoolean">
+ <input message="tns:echoBooleanRequest"/>
+ <output message="tns:echoBooleanResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoString">
+ <soap:operation soapAction="InteropBase#echoString"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStringArray">
+ <soap:operation soapAction="InteropBase#echoStringArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoInteger">
+ <soap:operation soapAction="InteropBase#echoInteger"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoIntegerArray">
+ <soap:operation soapAction="InteropBase#echoIntegerArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloat">
+ <soap:operation soapAction="InteropBase#echoFloat"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloatArray">
+ <soap:operation soapAction="InteropBase#echoFloatArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStruct">
+ <soap:operation soapAction="InteropBase#echoStruct"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStructArray">
+ <soap:operation soapAction="InteropBase#echoStructArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoVoid">
+ <soap:operation soapAction="InteropBase#echoVoid"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBase64">
+ <soap:operation soapAction="InteropBase#echoBase64"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDate">
+ <soap:operation soapAction="InteropBase#echoDate"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoHexBinary">
+ <soap:operation soapAction="InteropBase#echoHexBinary"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDecimal">
+ <soap:operation soapAction="InteropBase#echoDecimal"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBoolean">
+ <soap:operation soapAction="InteropBase#echoBoolean"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="InteropBase">
+ <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest">
+ <soap:address location="http://localhost/axis/InteropBase"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/RpcHttpHeaderTest5.wsdl b/test/resources/wsdl/RpcHttpHeaderTest5.wsdl
new file mode 100644
index 0000000..f7d1945
--- /dev/null
+++ b/test/resources/wsdl/RpcHttpHeaderTest5.wsdl
@@ -0,0 +1,333 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="ArrayOfstring">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfint">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOffloat">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfSOAPStruct">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="SOAPStruct">
+ <all>
+ <element name="varString" type="string"/>
+ <element name="varInt" type="int"/>
+ <element name="varFloat" type="float"/>
+ </all>
+ </complexType>
+ </schema>
+ </types>
+
+ <message name="echoStringRequest">
+ <part name="inputString" type="xsd:string"/>
+ </message>
+ <message name="echoStringResponse">
+ <part name="return" type="xsd:string"/>
+ </message>
+ <message name="echoStringArrayRequest">
+ <part name="inputStringArray" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoStringArrayResponse">
+ <part name="return" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoIntegerRequest">
+ <part name="inputInteger" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerResponse">
+ <part name="return" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerArrayRequest">
+ <part name="inputIntegerArray" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoIntegerArrayResponse">
+ <part name="return" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoFloatRequest">
+ <part name="inputFloat" type="xsd:float"/>
+ </message>
+ <message name="echoFloatResponse">
+ <part name="return" type="xsd:float"/>
+ </message>
+ <message name="echoFloatArrayRequest">
+ <part name="inputFloatArray" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoFloatArrayResponse">
+ <part name="return" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoStructRequest">
+ <part name="inputStruct" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructResponse">
+ <part name="return" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructArrayRequest">
+ <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoStructArrayResponse">
+ <part name="return" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoVoidRequest"/>
+ <message name="echoVoidResponse"/>
+ <message name="echoBase64Request">
+ <part name="inputBase64" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoBase64Response">
+ <part name="return" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoDateRequest">
+ <part name="inputDate" type="xsd:dateTime"/>
+ </message>
+ <message name="echoDateResponse">
+ <part name="return" type="xsd:dateTime"/>
+ </message>
+ <message name="echoHexBinaryRequest">
+ <part name="inputHexBinary" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoHexBinaryResponse">
+ <part name="return" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoDecimalRequest">
+ <part name="inputDecimal" type="xsd:decimal"/>
+ </message>
+ <message name="echoDecimalResponse">
+ <part name="return" type="xsd:decimal"/>
+ </message>
+ <message name="echoBooleanRequest">
+ <part name="inputBoolean" type="xsd:boolean"/>
+ </message>
+ <message name="echoBooleanResponse">
+ <part name="return" type="xsd:boolean"/>
+ </message>
+
+ <portType name="InteropTestPortType">
+ <operation name="echoString" parameterOrder="inputString">
+ <input message="tns:echoStringRequest"/>
+ <output message="tns:echoStringResponse"/>
+ </operation>
+ <operation name="echoStringArray" parameterOrder="inputStringArray">
+ <input message="tns:echoStringArrayRequest"/>
+ <output message="tns:echoStringArrayResponse"/>
+ </operation>
+ <operation name="echoInteger" parameterOrder="inputInteger">
+ <input message="tns:echoIntegerRequest"/>
+ <output message="tns:echoIntegerResponse"/>
+ </operation>
+ <operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
+ <input message="tns:echoIntegerArrayRequest"/>
+ <output message="tns:echoIntegerArrayResponse"/>
+ </operation>
+ <operation name="echoFloat" parameterOrder="inputFloat">
+ <input message="tns:echoFloatRequest"/>
+ <output message="tns:echoFloatResponse"/>
+ </operation>
+ <operation name="echoFloatArray" parameterOrder="inputFloatArray">
+ <input message="tns:echoFloatArrayRequest"/>
+ <output message="tns:echoFloatArrayResponse"/>
+ </operation>
+ <operation name="echoStruct" parameterOrder="inputStruct">
+ <input message="tns:echoStructRequest"/>
+ <output message="tns:echoStructResponse"/>
+ </operation>
+ <operation name="echoStructArray" parameterOrder="inputStructArray">
+ <input message="tns:echoStructArrayRequest"/>
+ <output message="tns:echoStructArrayResponse"/>
+ </operation>
+ <operation name="echoVoid">
+ <input message="tns:echoVoidRequest"/>
+ <output message="tns:echoVoidResponse"/>
+ </operation>
+ <operation name="echoBase64" parameterOrder="inputBase64">
+ <input message="tns:echoBase64Request"/>
+ <output message="tns:echoBase64Response"/>
+ </operation>
+ <operation name="echoDate" parameterOrder="inputDate">
+ <input message="tns:echoDateRequest"/>
+ <output message="tns:echoDateResponse"/>
+ </operation>
+ <operation name="echoHexBinary" parameterOrder="inputHexBinary">
+ <input message="tns:echoHexBinaryRequest"/>
+ <output message="tns:echoHexBinaryResponse"/>
+ </operation>
+ <operation name="echoDecimal" parameterOrder="inputDecimal">
+ <input message="tns:echoDecimalRequest"/>
+ <output message="tns:echoDecimalResponse"/>
+ </operation>
+ <operation name="echoBoolean" parameterOrder="inputBoolean">
+ <input message="tns:echoBooleanRequest"/>
+ <output message="tns:echoBooleanResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoString">
+ <soap:operation soapAction="InteropBase#echoString"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStringArray">
+ <soap:operation soapAction="InteropBase#echoStringArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoInteger">
+ <soap:operation soapAction="InteropBase#echoInteger"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoIntegerArray">
+ <soap:operation soapAction="InteropBase#echoIntegerArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloat">
+ <soap:operation soapAction="InteropBase#echoFloat"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloatArray">
+ <soap:operation soapAction="InteropBase#echoFloatArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStruct">
+ <soap:operation soapAction="InteropBase#echoStruct"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStructArray">
+ <soap:operation soapAction="InteropBase#echoStructArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoVoid">
+ <soap:operation soapAction="InteropBase#echoVoid"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBase64">
+ <soap:operation soapAction="InteropBase#echoBase64"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDate">
+ <soap:operation soapAction="InteropBase#echoDate"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoHexBinary">
+ <soap:operation soapAction="InteropBase#echoHexBinary"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDecimal">
+ <soap:operation soapAction="InteropBase#echoDecimal"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBoolean">
+ <soap:operation soapAction="InteropBase#echoBoolean"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="InteropBase">
+ <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest">
+ <soap:address location="http://localhost/axis/InteropBase"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/RpcHttpHeaderTest7.wsdl b/test/resources/wsdl/RpcHttpHeaderTest7.wsdl
new file mode 100644
index 0000000..f7d1945
--- /dev/null
+++ b/test/resources/wsdl/RpcHttpHeaderTest7.wsdl
@@ -0,0 +1,333 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="ArrayOfstring">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfint">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOffloat">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfSOAPStruct">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="SOAPStruct">
+ <all>
+ <element name="varString" type="string"/>
+ <element name="varInt" type="int"/>
+ <element name="varFloat" type="float"/>
+ </all>
+ </complexType>
+ </schema>
+ </types>
+
+ <message name="echoStringRequest">
+ <part name="inputString" type="xsd:string"/>
+ </message>
+ <message name="echoStringResponse">
+ <part name="return" type="xsd:string"/>
+ </message>
+ <message name="echoStringArrayRequest">
+ <part name="inputStringArray" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoStringArrayResponse">
+ <part name="return" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoIntegerRequest">
+ <part name="inputInteger" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerResponse">
+ <part name="return" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerArrayRequest">
+ <part name="inputIntegerArray" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoIntegerArrayResponse">
+ <part name="return" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoFloatRequest">
+ <part name="inputFloat" type="xsd:float"/>
+ </message>
+ <message name="echoFloatResponse">
+ <part name="return" type="xsd:float"/>
+ </message>
+ <message name="echoFloatArrayRequest">
+ <part name="inputFloatArray" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoFloatArrayResponse">
+ <part name="return" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoStructRequest">
+ <part name="inputStruct" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructResponse">
+ <part name="return" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructArrayRequest">
+ <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoStructArrayResponse">
+ <part name="return" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoVoidRequest"/>
+ <message name="echoVoidResponse"/>
+ <message name="echoBase64Request">
+ <part name="inputBase64" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoBase64Response">
+ <part name="return" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoDateRequest">
+ <part name="inputDate" type="xsd:dateTime"/>
+ </message>
+ <message name="echoDateResponse">
+ <part name="return" type="xsd:dateTime"/>
+ </message>
+ <message name="echoHexBinaryRequest">
+ <part name="inputHexBinary" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoHexBinaryResponse">
+ <part name="return" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoDecimalRequest">
+ <part name="inputDecimal" type="xsd:decimal"/>
+ </message>
+ <message name="echoDecimalResponse">
+ <part name="return" type="xsd:decimal"/>
+ </message>
+ <message name="echoBooleanRequest">
+ <part name="inputBoolean" type="xsd:boolean"/>
+ </message>
+ <message name="echoBooleanResponse">
+ <part name="return" type="xsd:boolean"/>
+ </message>
+
+ <portType name="InteropTestPortType">
+ <operation name="echoString" parameterOrder="inputString">
+ <input message="tns:echoStringRequest"/>
+ <output message="tns:echoStringResponse"/>
+ </operation>
+ <operation name="echoStringArray" parameterOrder="inputStringArray">
+ <input message="tns:echoStringArrayRequest"/>
+ <output message="tns:echoStringArrayResponse"/>
+ </operation>
+ <operation name="echoInteger" parameterOrder="inputInteger">
+ <input message="tns:echoIntegerRequest"/>
+ <output message="tns:echoIntegerResponse"/>
+ </operation>
+ <operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
+ <input message="tns:echoIntegerArrayRequest"/>
+ <output message="tns:echoIntegerArrayResponse"/>
+ </operation>
+ <operation name="echoFloat" parameterOrder="inputFloat">
+ <input message="tns:echoFloatRequest"/>
+ <output message="tns:echoFloatResponse"/>
+ </operation>
+ <operation name="echoFloatArray" parameterOrder="inputFloatArray">
+ <input message="tns:echoFloatArrayRequest"/>
+ <output message="tns:echoFloatArrayResponse"/>
+ </operation>
+ <operation name="echoStruct" parameterOrder="inputStruct">
+ <input message="tns:echoStructRequest"/>
+ <output message="tns:echoStructResponse"/>
+ </operation>
+ <operation name="echoStructArray" parameterOrder="inputStructArray">
+ <input message="tns:echoStructArrayRequest"/>
+ <output message="tns:echoStructArrayResponse"/>
+ </operation>
+ <operation name="echoVoid">
+ <input message="tns:echoVoidRequest"/>
+ <output message="tns:echoVoidResponse"/>
+ </operation>
+ <operation name="echoBase64" parameterOrder="inputBase64">
+ <input message="tns:echoBase64Request"/>
+ <output message="tns:echoBase64Response"/>
+ </operation>
+ <operation name="echoDate" parameterOrder="inputDate">
+ <input message="tns:echoDateRequest"/>
+ <output message="tns:echoDateResponse"/>
+ </operation>
+ <operation name="echoHexBinary" parameterOrder="inputHexBinary">
+ <input message="tns:echoHexBinaryRequest"/>
+ <output message="tns:echoHexBinaryResponse"/>
+ </operation>
+ <operation name="echoDecimal" parameterOrder="inputDecimal">
+ <input message="tns:echoDecimalRequest"/>
+ <output message="tns:echoDecimalResponse"/>
+ </operation>
+ <operation name="echoBoolean" parameterOrder="inputBoolean">
+ <input message="tns:echoBooleanRequest"/>
+ <output message="tns:echoBooleanResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoString">
+ <soap:operation soapAction="InteropBase#echoString"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStringArray">
+ <soap:operation soapAction="InteropBase#echoStringArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoInteger">
+ <soap:operation soapAction="InteropBase#echoInteger"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoIntegerArray">
+ <soap:operation soapAction="InteropBase#echoIntegerArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloat">
+ <soap:operation soapAction="InteropBase#echoFloat"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloatArray">
+ <soap:operation soapAction="InteropBase#echoFloatArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStruct">
+ <soap:operation soapAction="InteropBase#echoStruct"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStructArray">
+ <soap:operation soapAction="InteropBase#echoStructArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoVoid">
+ <soap:operation soapAction="InteropBase#echoVoid"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBase64">
+ <soap:operation soapAction="InteropBase#echoBase64"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDate">
+ <soap:operation soapAction="InteropBase#echoDate"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoHexBinary">
+ <soap:operation soapAction="InteropBase#echoHexBinary"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDecimal">
+ <soap:operation soapAction="InteropBase#echoDecimal"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBoolean">
+ <soap:operation soapAction="InteropBase#echoBoolean"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="InteropBase">
+ <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest">
+ <soap:address location="http://localhost/axis/InteropBase"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/RpcHttpHeaderTest8.wsdl b/test/resources/wsdl/RpcHttpHeaderTest8.wsdl
new file mode 100644
index 0000000..f7d1945
--- /dev/null
+++ b/test/resources/wsdl/RpcHttpHeaderTest8.wsdl
@@ -0,0 +1,333 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="ArrayOfstring">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfint">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOffloat">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfSOAPStruct">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="SOAPStruct">
+ <all>
+ <element name="varString" type="string"/>
+ <element name="varInt" type="int"/>
+ <element name="varFloat" type="float"/>
+ </all>
+ </complexType>
+ </schema>
+ </types>
+
+ <message name="echoStringRequest">
+ <part name="inputString" type="xsd:string"/>
+ </message>
+ <message name="echoStringResponse">
+ <part name="return" type="xsd:string"/>
+ </message>
+ <message name="echoStringArrayRequest">
+ <part name="inputStringArray" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoStringArrayResponse">
+ <part name="return" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoIntegerRequest">
+ <part name="inputInteger" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerResponse">
+ <part name="return" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerArrayRequest">
+ <part name="inputIntegerArray" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoIntegerArrayResponse">
+ <part name="return" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoFloatRequest">
+ <part name="inputFloat" type="xsd:float"/>
+ </message>
+ <message name="echoFloatResponse">
+ <part name="return" type="xsd:float"/>
+ </message>
+ <message name="echoFloatArrayRequest">
+ <part name="inputFloatArray" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoFloatArrayResponse">
+ <part name="return" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoStructRequest">
+ <part name="inputStruct" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructResponse">
+ <part name="return" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructArrayRequest">
+ <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoStructArrayResponse">
+ <part name="return" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoVoidRequest"/>
+ <message name="echoVoidResponse"/>
+ <message name="echoBase64Request">
+ <part name="inputBase64" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoBase64Response">
+ <part name="return" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoDateRequest">
+ <part name="inputDate" type="xsd:dateTime"/>
+ </message>
+ <message name="echoDateResponse">
+ <part name="return" type="xsd:dateTime"/>
+ </message>
+ <message name="echoHexBinaryRequest">
+ <part name="inputHexBinary" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoHexBinaryResponse">
+ <part name="return" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoDecimalRequest">
+ <part name="inputDecimal" type="xsd:decimal"/>
+ </message>
+ <message name="echoDecimalResponse">
+ <part name="return" type="xsd:decimal"/>
+ </message>
+ <message name="echoBooleanRequest">
+ <part name="inputBoolean" type="xsd:boolean"/>
+ </message>
+ <message name="echoBooleanResponse">
+ <part name="return" type="xsd:boolean"/>
+ </message>
+
+ <portType name="InteropTestPortType">
+ <operation name="echoString" parameterOrder="inputString">
+ <input message="tns:echoStringRequest"/>
+ <output message="tns:echoStringResponse"/>
+ </operation>
+ <operation name="echoStringArray" parameterOrder="inputStringArray">
+ <input message="tns:echoStringArrayRequest"/>
+ <output message="tns:echoStringArrayResponse"/>
+ </operation>
+ <operation name="echoInteger" parameterOrder="inputInteger">
+ <input message="tns:echoIntegerRequest"/>
+ <output message="tns:echoIntegerResponse"/>
+ </operation>
+ <operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
+ <input message="tns:echoIntegerArrayRequest"/>
+ <output message="tns:echoIntegerArrayResponse"/>
+ </operation>
+ <operation name="echoFloat" parameterOrder="inputFloat">
+ <input message="tns:echoFloatRequest"/>
+ <output message="tns:echoFloatResponse"/>
+ </operation>
+ <operation name="echoFloatArray" parameterOrder="inputFloatArray">
+ <input message="tns:echoFloatArrayRequest"/>
+ <output message="tns:echoFloatArrayResponse"/>
+ </operation>
+ <operation name="echoStruct" parameterOrder="inputStruct">
+ <input message="tns:echoStructRequest"/>
+ <output message="tns:echoStructResponse"/>
+ </operation>
+ <operation name="echoStructArray" parameterOrder="inputStructArray">
+ <input message="tns:echoStructArrayRequest"/>
+ <output message="tns:echoStructArrayResponse"/>
+ </operation>
+ <operation name="echoVoid">
+ <input message="tns:echoVoidRequest"/>
+ <output message="tns:echoVoidResponse"/>
+ </operation>
+ <operation name="echoBase64" parameterOrder="inputBase64">
+ <input message="tns:echoBase64Request"/>
+ <output message="tns:echoBase64Response"/>
+ </operation>
+ <operation name="echoDate" parameterOrder="inputDate">
+ <input message="tns:echoDateRequest"/>
+ <output message="tns:echoDateResponse"/>
+ </operation>
+ <operation name="echoHexBinary" parameterOrder="inputHexBinary">
+ <input message="tns:echoHexBinaryRequest"/>
+ <output message="tns:echoHexBinaryResponse"/>
+ </operation>
+ <operation name="echoDecimal" parameterOrder="inputDecimal">
+ <input message="tns:echoDecimalRequest"/>
+ <output message="tns:echoDecimalResponse"/>
+ </operation>
+ <operation name="echoBoolean" parameterOrder="inputBoolean">
+ <input message="tns:echoBooleanRequest"/>
+ <output message="tns:echoBooleanResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoString">
+ <soap:operation soapAction="InteropBase#echoString"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStringArray">
+ <soap:operation soapAction="InteropBase#echoStringArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoInteger">
+ <soap:operation soapAction="InteropBase#echoInteger"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoIntegerArray">
+ <soap:operation soapAction="InteropBase#echoIntegerArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloat">
+ <soap:operation soapAction="InteropBase#echoFloat"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloatArray">
+ <soap:operation soapAction="InteropBase#echoFloatArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStruct">
+ <soap:operation soapAction="InteropBase#echoStruct"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStructArray">
+ <soap:operation soapAction="InteropBase#echoStructArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoVoid">
+ <soap:operation soapAction="InteropBase#echoVoid"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBase64">
+ <soap:operation soapAction="InteropBase#echoBase64"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDate">
+ <soap:operation soapAction="InteropBase#echoDate"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoHexBinary">
+ <soap:operation soapAction="InteropBase#echoHexBinary"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDecimal">
+ <soap:operation soapAction="InteropBase#echoDecimal"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBoolean">
+ <soap:operation soapAction="InteropBase#echoBoolean"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="InteropBase">
+ <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest">
+ <soap:address location="http://localhost/axis/InteropBase"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/RpcSoapHeaderTest1.wsdl b/test/resources/wsdl/RpcSoapHeaderTest1.wsdl
new file mode 100644
index 0000000..f7d1945
--- /dev/null
+++ b/test/resources/wsdl/RpcSoapHeaderTest1.wsdl
@@ -0,0 +1,333 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="ArrayOfstring">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfint">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOffloat">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfSOAPStruct">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="SOAPStruct">
+ <all>
+ <element name="varString" type="string"/>
+ <element name="varInt" type="int"/>
+ <element name="varFloat" type="float"/>
+ </all>
+ </complexType>
+ </schema>
+ </types>
+
+ <message name="echoStringRequest">
+ <part name="inputString" type="xsd:string"/>
+ </message>
+ <message name="echoStringResponse">
+ <part name="return" type="xsd:string"/>
+ </message>
+ <message name="echoStringArrayRequest">
+ <part name="inputStringArray" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoStringArrayResponse">
+ <part name="return" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoIntegerRequest">
+ <part name="inputInteger" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerResponse">
+ <part name="return" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerArrayRequest">
+ <part name="inputIntegerArray" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoIntegerArrayResponse">
+ <part name="return" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoFloatRequest">
+ <part name="inputFloat" type="xsd:float"/>
+ </message>
+ <message name="echoFloatResponse">
+ <part name="return" type="xsd:float"/>
+ </message>
+ <message name="echoFloatArrayRequest">
+ <part name="inputFloatArray" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoFloatArrayResponse">
+ <part name="return" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoStructRequest">
+ <part name="inputStruct" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructResponse">
+ <part name="return" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructArrayRequest">
+ <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoStructArrayResponse">
+ <part name="return" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoVoidRequest"/>
+ <message name="echoVoidResponse"/>
+ <message name="echoBase64Request">
+ <part name="inputBase64" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoBase64Response">
+ <part name="return" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoDateRequest">
+ <part name="inputDate" type="xsd:dateTime"/>
+ </message>
+ <message name="echoDateResponse">
+ <part name="return" type="xsd:dateTime"/>
+ </message>
+ <message name="echoHexBinaryRequest">
+ <part name="inputHexBinary" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoHexBinaryResponse">
+ <part name="return" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoDecimalRequest">
+ <part name="inputDecimal" type="xsd:decimal"/>
+ </message>
+ <message name="echoDecimalResponse">
+ <part name="return" type="xsd:decimal"/>
+ </message>
+ <message name="echoBooleanRequest">
+ <part name="inputBoolean" type="xsd:boolean"/>
+ </message>
+ <message name="echoBooleanResponse">
+ <part name="return" type="xsd:boolean"/>
+ </message>
+
+ <portType name="InteropTestPortType">
+ <operation name="echoString" parameterOrder="inputString">
+ <input message="tns:echoStringRequest"/>
+ <output message="tns:echoStringResponse"/>
+ </operation>
+ <operation name="echoStringArray" parameterOrder="inputStringArray">
+ <input message="tns:echoStringArrayRequest"/>
+ <output message="tns:echoStringArrayResponse"/>
+ </operation>
+ <operation name="echoInteger" parameterOrder="inputInteger">
+ <input message="tns:echoIntegerRequest"/>
+ <output message="tns:echoIntegerResponse"/>
+ </operation>
+ <operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
+ <input message="tns:echoIntegerArrayRequest"/>
+ <output message="tns:echoIntegerArrayResponse"/>
+ </operation>
+ <operation name="echoFloat" parameterOrder="inputFloat">
+ <input message="tns:echoFloatRequest"/>
+ <output message="tns:echoFloatResponse"/>
+ </operation>
+ <operation name="echoFloatArray" parameterOrder="inputFloatArray">
+ <input message="tns:echoFloatArrayRequest"/>
+ <output message="tns:echoFloatArrayResponse"/>
+ </operation>
+ <operation name="echoStruct" parameterOrder="inputStruct">
+ <input message="tns:echoStructRequest"/>
+ <output message="tns:echoStructResponse"/>
+ </operation>
+ <operation name="echoStructArray" parameterOrder="inputStructArray">
+ <input message="tns:echoStructArrayRequest"/>
+ <output message="tns:echoStructArrayResponse"/>
+ </operation>
+ <operation name="echoVoid">
+ <input message="tns:echoVoidRequest"/>
+ <output message="tns:echoVoidResponse"/>
+ </operation>
+ <operation name="echoBase64" parameterOrder="inputBase64">
+ <input message="tns:echoBase64Request"/>
+ <output message="tns:echoBase64Response"/>
+ </operation>
+ <operation name="echoDate" parameterOrder="inputDate">
+ <input message="tns:echoDateRequest"/>
+ <output message="tns:echoDateResponse"/>
+ </operation>
+ <operation name="echoHexBinary" parameterOrder="inputHexBinary">
+ <input message="tns:echoHexBinaryRequest"/>
+ <output message="tns:echoHexBinaryResponse"/>
+ </operation>
+ <operation name="echoDecimal" parameterOrder="inputDecimal">
+ <input message="tns:echoDecimalRequest"/>
+ <output message="tns:echoDecimalResponse"/>
+ </operation>
+ <operation name="echoBoolean" parameterOrder="inputBoolean">
+ <input message="tns:echoBooleanRequest"/>
+ <output message="tns:echoBooleanResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoString">
+ <soap:operation soapAction="InteropBase#echoString"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStringArray">
+ <soap:operation soapAction="InteropBase#echoStringArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoInteger">
+ <soap:operation soapAction="InteropBase#echoInteger"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoIntegerArray">
+ <soap:operation soapAction="InteropBase#echoIntegerArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloat">
+ <soap:operation soapAction="InteropBase#echoFloat"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloatArray">
+ <soap:operation soapAction="InteropBase#echoFloatArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStruct">
+ <soap:operation soapAction="InteropBase#echoStruct"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStructArray">
+ <soap:operation soapAction="InteropBase#echoStructArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoVoid">
+ <soap:operation soapAction="InteropBase#echoVoid"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBase64">
+ <soap:operation soapAction="InteropBase#echoBase64"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDate">
+ <soap:operation soapAction="InteropBase#echoDate"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoHexBinary">
+ <soap:operation soapAction="InteropBase#echoHexBinary"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDecimal">
+ <soap:operation soapAction="InteropBase#echoDecimal"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBoolean">
+ <soap:operation soapAction="InteropBase#echoBoolean"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="InteropBase">
+ <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest">
+ <soap:address location="http://localhost/axis/InteropBase"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/RpcSoapHeaderTest10.wsdl b/test/resources/wsdl/RpcSoapHeaderTest10.wsdl
new file mode 100644
index 0000000..f7d1945
--- /dev/null
+++ b/test/resources/wsdl/RpcSoapHeaderTest10.wsdl
@@ -0,0 +1,333 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="ArrayOfstring">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfint">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOffloat">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfSOAPStruct">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="SOAPStruct">
+ <all>
+ <element name="varString" type="string"/>
+ <element name="varInt" type="int"/>
+ <element name="varFloat" type="float"/>
+ </all>
+ </complexType>
+ </schema>
+ </types>
+
+ <message name="echoStringRequest">
+ <part name="inputString" type="xsd:string"/>
+ </message>
+ <message name="echoStringResponse">
+ <part name="return" type="xsd:string"/>
+ </message>
+ <message name="echoStringArrayRequest">
+ <part name="inputStringArray" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoStringArrayResponse">
+ <part name="return" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoIntegerRequest">
+ <part name="inputInteger" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerResponse">
+ <part name="return" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerArrayRequest">
+ <part name="inputIntegerArray" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoIntegerArrayResponse">
+ <part name="return" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoFloatRequest">
+ <part name="inputFloat" type="xsd:float"/>
+ </message>
+ <message name="echoFloatResponse">
+ <part name="return" type="xsd:float"/>
+ </message>
+ <message name="echoFloatArrayRequest">
+ <part name="inputFloatArray" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoFloatArrayResponse">
+ <part name="return" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoStructRequest">
+ <part name="inputStruct" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructResponse">
+ <part name="return" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructArrayRequest">
+ <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoStructArrayResponse">
+ <part name="return" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoVoidRequest"/>
+ <message name="echoVoidResponse"/>
+ <message name="echoBase64Request">
+ <part name="inputBase64" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoBase64Response">
+ <part name="return" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoDateRequest">
+ <part name="inputDate" type="xsd:dateTime"/>
+ </message>
+ <message name="echoDateResponse">
+ <part name="return" type="xsd:dateTime"/>
+ </message>
+ <message name="echoHexBinaryRequest">
+ <part name="inputHexBinary" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoHexBinaryResponse">
+ <part name="return" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoDecimalRequest">
+ <part name="inputDecimal" type="xsd:decimal"/>
+ </message>
+ <message name="echoDecimalResponse">
+ <part name="return" type="xsd:decimal"/>
+ </message>
+ <message name="echoBooleanRequest">
+ <part name="inputBoolean" type="xsd:boolean"/>
+ </message>
+ <message name="echoBooleanResponse">
+ <part name="return" type="xsd:boolean"/>
+ </message>
+
+ <portType name="InteropTestPortType">
+ <operation name="echoString" parameterOrder="inputString">
+ <input message="tns:echoStringRequest"/>
+ <output message="tns:echoStringResponse"/>
+ </operation>
+ <operation name="echoStringArray" parameterOrder="inputStringArray">
+ <input message="tns:echoStringArrayRequest"/>
+ <output message="tns:echoStringArrayResponse"/>
+ </operation>
+ <operation name="echoInteger" parameterOrder="inputInteger">
+ <input message="tns:echoIntegerRequest"/>
+ <output message="tns:echoIntegerResponse"/>
+ </operation>
+ <operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
+ <input message="tns:echoIntegerArrayRequest"/>
+ <output message="tns:echoIntegerArrayResponse"/>
+ </operation>
+ <operation name="echoFloat" parameterOrder="inputFloat">
+ <input message="tns:echoFloatRequest"/>
+ <output message="tns:echoFloatResponse"/>
+ </operation>
+ <operation name="echoFloatArray" parameterOrder="inputFloatArray">
+ <input message="tns:echoFloatArrayRequest"/>
+ <output message="tns:echoFloatArrayResponse"/>
+ </operation>
+ <operation name="echoStruct" parameterOrder="inputStruct">
+ <input message="tns:echoStructRequest"/>
+ <output message="tns:echoStructResponse"/>
+ </operation>
+ <operation name="echoStructArray" parameterOrder="inputStructArray">
+ <input message="tns:echoStructArrayRequest"/>
+ <output message="tns:echoStructArrayResponse"/>
+ </operation>
+ <operation name="echoVoid">
+ <input message="tns:echoVoidRequest"/>
+ <output message="tns:echoVoidResponse"/>
+ </operation>
+ <operation name="echoBase64" parameterOrder="inputBase64">
+ <input message="tns:echoBase64Request"/>
+ <output message="tns:echoBase64Response"/>
+ </operation>
+ <operation name="echoDate" parameterOrder="inputDate">
+ <input message="tns:echoDateRequest"/>
+ <output message="tns:echoDateResponse"/>
+ </operation>
+ <operation name="echoHexBinary" parameterOrder="inputHexBinary">
+ <input message="tns:echoHexBinaryRequest"/>
+ <output message="tns:echoHexBinaryResponse"/>
+ </operation>
+ <operation name="echoDecimal" parameterOrder="inputDecimal">
+ <input message="tns:echoDecimalRequest"/>
+ <output message="tns:echoDecimalResponse"/>
+ </operation>
+ <operation name="echoBoolean" parameterOrder="inputBoolean">
+ <input message="tns:echoBooleanRequest"/>
+ <output message="tns:echoBooleanResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoString">
+ <soap:operation soapAction="InteropBase#echoString"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStringArray">
+ <soap:operation soapAction="InteropBase#echoStringArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoInteger">
+ <soap:operation soapAction="InteropBase#echoInteger"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoIntegerArray">
+ <soap:operation soapAction="InteropBase#echoIntegerArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloat">
+ <soap:operation soapAction="InteropBase#echoFloat"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloatArray">
+ <soap:operation soapAction="InteropBase#echoFloatArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStruct">
+ <soap:operation soapAction="InteropBase#echoStruct"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStructArray">
+ <soap:operation soapAction="InteropBase#echoStructArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoVoid">
+ <soap:operation soapAction="InteropBase#echoVoid"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBase64">
+ <soap:operation soapAction="InteropBase#echoBase64"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDate">
+ <soap:operation soapAction="InteropBase#echoDate"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoHexBinary">
+ <soap:operation soapAction="InteropBase#echoHexBinary"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDecimal">
+ <soap:operation soapAction="InteropBase#echoDecimal"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBoolean">
+ <soap:operation soapAction="InteropBase#echoBoolean"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="InteropBase">
+ <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest">
+ <soap:address location="http://localhost/axis/InteropBase"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/RpcSoapHeaderTest2.wsdl b/test/resources/wsdl/RpcSoapHeaderTest2.wsdl
new file mode 100644
index 0000000..f7d1945
--- /dev/null
+++ b/test/resources/wsdl/RpcSoapHeaderTest2.wsdl
@@ -0,0 +1,333 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="ArrayOfstring">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfint">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOffloat">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfSOAPStruct">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="SOAPStruct">
+ <all>
+ <element name="varString" type="string"/>
+ <element name="varInt" type="int"/>
+ <element name="varFloat" type="float"/>
+ </all>
+ </complexType>
+ </schema>
+ </types>
+
+ <message name="echoStringRequest">
+ <part name="inputString" type="xsd:string"/>
+ </message>
+ <message name="echoStringResponse">
+ <part name="return" type="xsd:string"/>
+ </message>
+ <message name="echoStringArrayRequest">
+ <part name="inputStringArray" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoStringArrayResponse">
+ <part name="return" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoIntegerRequest">
+ <part name="inputInteger" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerResponse">
+ <part name="return" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerArrayRequest">
+ <part name="inputIntegerArray" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoIntegerArrayResponse">
+ <part name="return" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoFloatRequest">
+ <part name="inputFloat" type="xsd:float"/>
+ </message>
+ <message name="echoFloatResponse">
+ <part name="return" type="xsd:float"/>
+ </message>
+ <message name="echoFloatArrayRequest">
+ <part name="inputFloatArray" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoFloatArrayResponse">
+ <part name="return" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoStructRequest">
+ <part name="inputStruct" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructResponse">
+ <part name="return" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructArrayRequest">
+ <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoStructArrayResponse">
+ <part name="return" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoVoidRequest"/>
+ <message name="echoVoidResponse"/>
+ <message name="echoBase64Request">
+ <part name="inputBase64" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoBase64Response">
+ <part name="return" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoDateRequest">
+ <part name="inputDate" type="xsd:dateTime"/>
+ </message>
+ <message name="echoDateResponse">
+ <part name="return" type="xsd:dateTime"/>
+ </message>
+ <message name="echoHexBinaryRequest">
+ <part name="inputHexBinary" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoHexBinaryResponse">
+ <part name="return" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoDecimalRequest">
+ <part name="inputDecimal" type="xsd:decimal"/>
+ </message>
+ <message name="echoDecimalResponse">
+ <part name="return" type="xsd:decimal"/>
+ </message>
+ <message name="echoBooleanRequest">
+ <part name="inputBoolean" type="xsd:boolean"/>
+ </message>
+ <message name="echoBooleanResponse">
+ <part name="return" type="xsd:boolean"/>
+ </message>
+
+ <portType name="InteropTestPortType">
+ <operation name="echoString" parameterOrder="inputString">
+ <input message="tns:echoStringRequest"/>
+ <output message="tns:echoStringResponse"/>
+ </operation>
+ <operation name="echoStringArray" parameterOrder="inputStringArray">
+ <input message="tns:echoStringArrayRequest"/>
+ <output message="tns:echoStringArrayResponse"/>
+ </operation>
+ <operation name="echoInteger" parameterOrder="inputInteger">
+ <input message="tns:echoIntegerRequest"/>
+ <output message="tns:echoIntegerResponse"/>
+ </operation>
+ <operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
+ <input message="tns:echoIntegerArrayRequest"/>
+ <output message="tns:echoIntegerArrayResponse"/>
+ </operation>
+ <operation name="echoFloat" parameterOrder="inputFloat">
+ <input message="tns:echoFloatRequest"/>
+ <output message="tns:echoFloatResponse"/>
+ </operation>
+ <operation name="echoFloatArray" parameterOrder="inputFloatArray">
+ <input message="tns:echoFloatArrayRequest"/>
+ <output message="tns:echoFloatArrayResponse"/>
+ </operation>
+ <operation name="echoStruct" parameterOrder="inputStruct">
+ <input message="tns:echoStructRequest"/>
+ <output message="tns:echoStructResponse"/>
+ </operation>
+ <operation name="echoStructArray" parameterOrder="inputStructArray">
+ <input message="tns:echoStructArrayRequest"/>
+ <output message="tns:echoStructArrayResponse"/>
+ </operation>
+ <operation name="echoVoid">
+ <input message="tns:echoVoidRequest"/>
+ <output message="tns:echoVoidResponse"/>
+ </operation>
+ <operation name="echoBase64" parameterOrder="inputBase64">
+ <input message="tns:echoBase64Request"/>
+ <output message="tns:echoBase64Response"/>
+ </operation>
+ <operation name="echoDate" parameterOrder="inputDate">
+ <input message="tns:echoDateRequest"/>
+ <output message="tns:echoDateResponse"/>
+ </operation>
+ <operation name="echoHexBinary" parameterOrder="inputHexBinary">
+ <input message="tns:echoHexBinaryRequest"/>
+ <output message="tns:echoHexBinaryResponse"/>
+ </operation>
+ <operation name="echoDecimal" parameterOrder="inputDecimal">
+ <input message="tns:echoDecimalRequest"/>
+ <output message="tns:echoDecimalResponse"/>
+ </operation>
+ <operation name="echoBoolean" parameterOrder="inputBoolean">
+ <input message="tns:echoBooleanRequest"/>
+ <output message="tns:echoBooleanResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoString">
+ <soap:operation soapAction="InteropBase#echoString"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStringArray">
+ <soap:operation soapAction="InteropBase#echoStringArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoInteger">
+ <soap:operation soapAction="InteropBase#echoInteger"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoIntegerArray">
+ <soap:operation soapAction="InteropBase#echoIntegerArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloat">
+ <soap:operation soapAction="InteropBase#echoFloat"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloatArray">
+ <soap:operation soapAction="InteropBase#echoFloatArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStruct">
+ <soap:operation soapAction="InteropBase#echoStruct"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStructArray">
+ <soap:operation soapAction="InteropBase#echoStructArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoVoid">
+ <soap:operation soapAction="InteropBase#echoVoid"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBase64">
+ <soap:operation soapAction="InteropBase#echoBase64"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDate">
+ <soap:operation soapAction="InteropBase#echoDate"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoHexBinary">
+ <soap:operation soapAction="InteropBase#echoHexBinary"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDecimal">
+ <soap:operation soapAction="InteropBase#echoDecimal"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBoolean">
+ <soap:operation soapAction="InteropBase#echoBoolean"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="InteropBase">
+ <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest">
+ <soap:address location="http://localhost/axis/InteropBase"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/RpcSoapHeaderTest3.wsdl b/test/resources/wsdl/RpcSoapHeaderTest3.wsdl
new file mode 100644
index 0000000..f7d1945
--- /dev/null
+++ b/test/resources/wsdl/RpcSoapHeaderTest3.wsdl
@@ -0,0 +1,333 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="ArrayOfstring">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfint">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOffloat">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfSOAPStruct">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="SOAPStruct">
+ <all>
+ <element name="varString" type="string"/>
+ <element name="varInt" type="int"/>
+ <element name="varFloat" type="float"/>
+ </all>
+ </complexType>
+ </schema>
+ </types>
+
+ <message name="echoStringRequest">
+ <part name="inputString" type="xsd:string"/>
+ </message>
+ <message name="echoStringResponse">
+ <part name="return" type="xsd:string"/>
+ </message>
+ <message name="echoStringArrayRequest">
+ <part name="inputStringArray" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoStringArrayResponse">
+ <part name="return" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoIntegerRequest">
+ <part name="inputInteger" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerResponse">
+ <part name="return" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerArrayRequest">
+ <part name="inputIntegerArray" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoIntegerArrayResponse">
+ <part name="return" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoFloatRequest">
+ <part name="inputFloat" type="xsd:float"/>
+ </message>
+ <message name="echoFloatResponse">
+ <part name="return" type="xsd:float"/>
+ </message>
+ <message name="echoFloatArrayRequest">
+ <part name="inputFloatArray" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoFloatArrayResponse">
+ <part name="return" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoStructRequest">
+ <part name="inputStruct" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructResponse">
+ <part name="return" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructArrayRequest">
+ <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoStructArrayResponse">
+ <part name="return" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoVoidRequest"/>
+ <message name="echoVoidResponse"/>
+ <message name="echoBase64Request">
+ <part name="inputBase64" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoBase64Response">
+ <part name="return" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoDateRequest">
+ <part name="inputDate" type="xsd:dateTime"/>
+ </message>
+ <message name="echoDateResponse">
+ <part name="return" type="xsd:dateTime"/>
+ </message>
+ <message name="echoHexBinaryRequest">
+ <part name="inputHexBinary" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoHexBinaryResponse">
+ <part name="return" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoDecimalRequest">
+ <part name="inputDecimal" type="xsd:decimal"/>
+ </message>
+ <message name="echoDecimalResponse">
+ <part name="return" type="xsd:decimal"/>
+ </message>
+ <message name="echoBooleanRequest">
+ <part name="inputBoolean" type="xsd:boolean"/>
+ </message>
+ <message name="echoBooleanResponse">
+ <part name="return" type="xsd:boolean"/>
+ </message>
+
+ <portType name="InteropTestPortType">
+ <operation name="echoString" parameterOrder="inputString">
+ <input message="tns:echoStringRequest"/>
+ <output message="tns:echoStringResponse"/>
+ </operation>
+ <operation name="echoStringArray" parameterOrder="inputStringArray">
+ <input message="tns:echoStringArrayRequest"/>
+ <output message="tns:echoStringArrayResponse"/>
+ </operation>
+ <operation name="echoInteger" parameterOrder="inputInteger">
+ <input message="tns:echoIntegerRequest"/>
+ <output message="tns:echoIntegerResponse"/>
+ </operation>
+ <operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
+ <input message="tns:echoIntegerArrayRequest"/>
+ <output message="tns:echoIntegerArrayResponse"/>
+ </operation>
+ <operation name="echoFloat" parameterOrder="inputFloat">
+ <input message="tns:echoFloatRequest"/>
+ <output message="tns:echoFloatResponse"/>
+ </operation>
+ <operation name="echoFloatArray" parameterOrder="inputFloatArray">
+ <input message="tns:echoFloatArrayRequest"/>
+ <output message="tns:echoFloatArrayResponse"/>
+ </operation>
+ <operation name="echoStruct" parameterOrder="inputStruct">
+ <input message="tns:echoStructRequest"/>
+ <output message="tns:echoStructResponse"/>
+ </operation>
+ <operation name="echoStructArray" parameterOrder="inputStructArray">
+ <input message="tns:echoStructArrayRequest"/>
+ <output message="tns:echoStructArrayResponse"/>
+ </operation>
+ <operation name="echoVoid">
+ <input message="tns:echoVoidRequest"/>
+ <output message="tns:echoVoidResponse"/>
+ </operation>
+ <operation name="echoBase64" parameterOrder="inputBase64">
+ <input message="tns:echoBase64Request"/>
+ <output message="tns:echoBase64Response"/>
+ </operation>
+ <operation name="echoDate" parameterOrder="inputDate">
+ <input message="tns:echoDateRequest"/>
+ <output message="tns:echoDateResponse"/>
+ </operation>
+ <operation name="echoHexBinary" parameterOrder="inputHexBinary">
+ <input message="tns:echoHexBinaryRequest"/>
+ <output message="tns:echoHexBinaryResponse"/>
+ </operation>
+ <operation name="echoDecimal" parameterOrder="inputDecimal">
+ <input message="tns:echoDecimalRequest"/>
+ <output message="tns:echoDecimalResponse"/>
+ </operation>
+ <operation name="echoBoolean" parameterOrder="inputBoolean">
+ <input message="tns:echoBooleanRequest"/>
+ <output message="tns:echoBooleanResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoString">
+ <soap:operation soapAction="InteropBase#echoString"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStringArray">
+ <soap:operation soapAction="InteropBase#echoStringArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoInteger">
+ <soap:operation soapAction="InteropBase#echoInteger"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoIntegerArray">
+ <soap:operation soapAction="InteropBase#echoIntegerArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloat">
+ <soap:operation soapAction="InteropBase#echoFloat"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloatArray">
+ <soap:operation soapAction="InteropBase#echoFloatArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStruct">
+ <soap:operation soapAction="InteropBase#echoStruct"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStructArray">
+ <soap:operation soapAction="InteropBase#echoStructArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoVoid">
+ <soap:operation soapAction="InteropBase#echoVoid"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBase64">
+ <soap:operation soapAction="InteropBase#echoBase64"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDate">
+ <soap:operation soapAction="InteropBase#echoDate"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoHexBinary">
+ <soap:operation soapAction="InteropBase#echoHexBinary"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDecimal">
+ <soap:operation soapAction="InteropBase#echoDecimal"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBoolean">
+ <soap:operation soapAction="InteropBase#echoBoolean"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="InteropBase">
+ <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest">
+ <soap:address location="http://localhost/axis/InteropBase"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/RpcSoapHeaderTest4.wsdl b/test/resources/wsdl/RpcSoapHeaderTest4.wsdl
new file mode 100644
index 0000000..f7d1945
--- /dev/null
+++ b/test/resources/wsdl/RpcSoapHeaderTest4.wsdl
@@ -0,0 +1,333 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="ArrayOfstring">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfint">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOffloat">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfSOAPStruct">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="SOAPStruct">
+ <all>
+ <element name="varString" type="string"/>
+ <element name="varInt" type="int"/>
+ <element name="varFloat" type="float"/>
+ </all>
+ </complexType>
+ </schema>
+ </types>
+
+ <message name="echoStringRequest">
+ <part name="inputString" type="xsd:string"/>
+ </message>
+ <message name="echoStringResponse">
+ <part name="return" type="xsd:string"/>
+ </message>
+ <message name="echoStringArrayRequest">
+ <part name="inputStringArray" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoStringArrayResponse">
+ <part name="return" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoIntegerRequest">
+ <part name="inputInteger" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerResponse">
+ <part name="return" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerArrayRequest">
+ <part name="inputIntegerArray" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoIntegerArrayResponse">
+ <part name="return" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoFloatRequest">
+ <part name="inputFloat" type="xsd:float"/>
+ </message>
+ <message name="echoFloatResponse">
+ <part name="return" type="xsd:float"/>
+ </message>
+ <message name="echoFloatArrayRequest">
+ <part name="inputFloatArray" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoFloatArrayResponse">
+ <part name="return" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoStructRequest">
+ <part name="inputStruct" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructResponse">
+ <part name="return" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructArrayRequest">
+ <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoStructArrayResponse">
+ <part name="return" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoVoidRequest"/>
+ <message name="echoVoidResponse"/>
+ <message name="echoBase64Request">
+ <part name="inputBase64" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoBase64Response">
+ <part name="return" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoDateRequest">
+ <part name="inputDate" type="xsd:dateTime"/>
+ </message>
+ <message name="echoDateResponse">
+ <part name="return" type="xsd:dateTime"/>
+ </message>
+ <message name="echoHexBinaryRequest">
+ <part name="inputHexBinary" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoHexBinaryResponse">
+ <part name="return" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoDecimalRequest">
+ <part name="inputDecimal" type="xsd:decimal"/>
+ </message>
+ <message name="echoDecimalResponse">
+ <part name="return" type="xsd:decimal"/>
+ </message>
+ <message name="echoBooleanRequest">
+ <part name="inputBoolean" type="xsd:boolean"/>
+ </message>
+ <message name="echoBooleanResponse">
+ <part name="return" type="xsd:boolean"/>
+ </message>
+
+ <portType name="InteropTestPortType">
+ <operation name="echoString" parameterOrder="inputString">
+ <input message="tns:echoStringRequest"/>
+ <output message="tns:echoStringResponse"/>
+ </operation>
+ <operation name="echoStringArray" parameterOrder="inputStringArray">
+ <input message="tns:echoStringArrayRequest"/>
+ <output message="tns:echoStringArrayResponse"/>
+ </operation>
+ <operation name="echoInteger" parameterOrder="inputInteger">
+ <input message="tns:echoIntegerRequest"/>
+ <output message="tns:echoIntegerResponse"/>
+ </operation>
+ <operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
+ <input message="tns:echoIntegerArrayRequest"/>
+ <output message="tns:echoIntegerArrayResponse"/>
+ </operation>
+ <operation name="echoFloat" parameterOrder="inputFloat">
+ <input message="tns:echoFloatRequest"/>
+ <output message="tns:echoFloatResponse"/>
+ </operation>
+ <operation name="echoFloatArray" parameterOrder="inputFloatArray">
+ <input message="tns:echoFloatArrayRequest"/>
+ <output message="tns:echoFloatArrayResponse"/>
+ </operation>
+ <operation name="echoStruct" parameterOrder="inputStruct">
+ <input message="tns:echoStructRequest"/>
+ <output message="tns:echoStructResponse"/>
+ </operation>
+ <operation name="echoStructArray" parameterOrder="inputStructArray">
+ <input message="tns:echoStructArrayRequest"/>
+ <output message="tns:echoStructArrayResponse"/>
+ </operation>
+ <operation name="echoVoid">
+ <input message="tns:echoVoidRequest"/>
+ <output message="tns:echoVoidResponse"/>
+ </operation>
+ <operation name="echoBase64" parameterOrder="inputBase64">
+ <input message="tns:echoBase64Request"/>
+ <output message="tns:echoBase64Response"/>
+ </operation>
+ <operation name="echoDate" parameterOrder="inputDate">
+ <input message="tns:echoDateRequest"/>
+ <output message="tns:echoDateResponse"/>
+ </operation>
+ <operation name="echoHexBinary" parameterOrder="inputHexBinary">
+ <input message="tns:echoHexBinaryRequest"/>
+ <output message="tns:echoHexBinaryResponse"/>
+ </operation>
+ <operation name="echoDecimal" parameterOrder="inputDecimal">
+ <input message="tns:echoDecimalRequest"/>
+ <output message="tns:echoDecimalResponse"/>
+ </operation>
+ <operation name="echoBoolean" parameterOrder="inputBoolean">
+ <input message="tns:echoBooleanRequest"/>
+ <output message="tns:echoBooleanResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoString">
+ <soap:operation soapAction="InteropBase#echoString"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStringArray">
+ <soap:operation soapAction="InteropBase#echoStringArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoInteger">
+ <soap:operation soapAction="InteropBase#echoInteger"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoIntegerArray">
+ <soap:operation soapAction="InteropBase#echoIntegerArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloat">
+ <soap:operation soapAction="InteropBase#echoFloat"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloatArray">
+ <soap:operation soapAction="InteropBase#echoFloatArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStruct">
+ <soap:operation soapAction="InteropBase#echoStruct"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStructArray">
+ <soap:operation soapAction="InteropBase#echoStructArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoVoid">
+ <soap:operation soapAction="InteropBase#echoVoid"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBase64">
+ <soap:operation soapAction="InteropBase#echoBase64"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDate">
+ <soap:operation soapAction="InteropBase#echoDate"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoHexBinary">
+ <soap:operation soapAction="InteropBase#echoHexBinary"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDecimal">
+ <soap:operation soapAction="InteropBase#echoDecimal"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBoolean">
+ <soap:operation soapAction="InteropBase#echoBoolean"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="InteropBase">
+ <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest">
+ <soap:address location="http://localhost/axis/InteropBase"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/RpcSoapHeaderTest6.wsdl b/test/resources/wsdl/RpcSoapHeaderTest6.wsdl
new file mode 100644
index 0000000..f7d1945
--- /dev/null
+++ b/test/resources/wsdl/RpcSoapHeaderTest6.wsdl
@@ -0,0 +1,333 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="ArrayOfstring">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfint">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOffloat">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfSOAPStruct">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="SOAPStruct">
+ <all>
+ <element name="varString" type="string"/>
+ <element name="varInt" type="int"/>
+ <element name="varFloat" type="float"/>
+ </all>
+ </complexType>
+ </schema>
+ </types>
+
+ <message name="echoStringRequest">
+ <part name="inputString" type="xsd:string"/>
+ </message>
+ <message name="echoStringResponse">
+ <part name="return" type="xsd:string"/>
+ </message>
+ <message name="echoStringArrayRequest">
+ <part name="inputStringArray" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoStringArrayResponse">
+ <part name="return" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoIntegerRequest">
+ <part name="inputInteger" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerResponse">
+ <part name="return" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerArrayRequest">
+ <part name="inputIntegerArray" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoIntegerArrayResponse">
+ <part name="return" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoFloatRequest">
+ <part name="inputFloat" type="xsd:float"/>
+ </message>
+ <message name="echoFloatResponse">
+ <part name="return" type="xsd:float"/>
+ </message>
+ <message name="echoFloatArrayRequest">
+ <part name="inputFloatArray" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoFloatArrayResponse">
+ <part name="return" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoStructRequest">
+ <part name="inputStruct" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructResponse">
+ <part name="return" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructArrayRequest">
+ <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoStructArrayResponse">
+ <part name="return" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoVoidRequest"/>
+ <message name="echoVoidResponse"/>
+ <message name="echoBase64Request">
+ <part name="inputBase64" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoBase64Response">
+ <part name="return" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoDateRequest">
+ <part name="inputDate" type="xsd:dateTime"/>
+ </message>
+ <message name="echoDateResponse">
+ <part name="return" type="xsd:dateTime"/>
+ </message>
+ <message name="echoHexBinaryRequest">
+ <part name="inputHexBinary" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoHexBinaryResponse">
+ <part name="return" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoDecimalRequest">
+ <part name="inputDecimal" type="xsd:decimal"/>
+ </message>
+ <message name="echoDecimalResponse">
+ <part name="return" type="xsd:decimal"/>
+ </message>
+ <message name="echoBooleanRequest">
+ <part name="inputBoolean" type="xsd:boolean"/>
+ </message>
+ <message name="echoBooleanResponse">
+ <part name="return" type="xsd:boolean"/>
+ </message>
+
+ <portType name="InteropTestPortType">
+ <operation name="echoString" parameterOrder="inputString">
+ <input message="tns:echoStringRequest"/>
+ <output message="tns:echoStringResponse"/>
+ </operation>
+ <operation name="echoStringArray" parameterOrder="inputStringArray">
+ <input message="tns:echoStringArrayRequest"/>
+ <output message="tns:echoStringArrayResponse"/>
+ </operation>
+ <operation name="echoInteger" parameterOrder="inputInteger">
+ <input message="tns:echoIntegerRequest"/>
+ <output message="tns:echoIntegerResponse"/>
+ </operation>
+ <operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
+ <input message="tns:echoIntegerArrayRequest"/>
+ <output message="tns:echoIntegerArrayResponse"/>
+ </operation>
+ <operation name="echoFloat" parameterOrder="inputFloat">
+ <input message="tns:echoFloatRequest"/>
+ <output message="tns:echoFloatResponse"/>
+ </operation>
+ <operation name="echoFloatArray" parameterOrder="inputFloatArray">
+ <input message="tns:echoFloatArrayRequest"/>
+ <output message="tns:echoFloatArrayResponse"/>
+ </operation>
+ <operation name="echoStruct" parameterOrder="inputStruct">
+ <input message="tns:echoStructRequest"/>
+ <output message="tns:echoStructResponse"/>
+ </operation>
+ <operation name="echoStructArray" parameterOrder="inputStructArray">
+ <input message="tns:echoStructArrayRequest"/>
+ <output message="tns:echoStructArrayResponse"/>
+ </operation>
+ <operation name="echoVoid">
+ <input message="tns:echoVoidRequest"/>
+ <output message="tns:echoVoidResponse"/>
+ </operation>
+ <operation name="echoBase64" parameterOrder="inputBase64">
+ <input message="tns:echoBase64Request"/>
+ <output message="tns:echoBase64Response"/>
+ </operation>
+ <operation name="echoDate" parameterOrder="inputDate">
+ <input message="tns:echoDateRequest"/>
+ <output message="tns:echoDateResponse"/>
+ </operation>
+ <operation name="echoHexBinary" parameterOrder="inputHexBinary">
+ <input message="tns:echoHexBinaryRequest"/>
+ <output message="tns:echoHexBinaryResponse"/>
+ </operation>
+ <operation name="echoDecimal" parameterOrder="inputDecimal">
+ <input message="tns:echoDecimalRequest"/>
+ <output message="tns:echoDecimalResponse"/>
+ </operation>
+ <operation name="echoBoolean" parameterOrder="inputBoolean">
+ <input message="tns:echoBooleanRequest"/>
+ <output message="tns:echoBooleanResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoString">
+ <soap:operation soapAction="InteropBase#echoString"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStringArray">
+ <soap:operation soapAction="InteropBase#echoStringArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoInteger">
+ <soap:operation soapAction="InteropBase#echoInteger"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoIntegerArray">
+ <soap:operation soapAction="InteropBase#echoIntegerArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloat">
+ <soap:operation soapAction="InteropBase#echoFloat"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloatArray">
+ <soap:operation soapAction="InteropBase#echoFloatArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStruct">
+ <soap:operation soapAction="InteropBase#echoStruct"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStructArray">
+ <soap:operation soapAction="InteropBase#echoStructArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoVoid">
+ <soap:operation soapAction="InteropBase#echoVoid"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBase64">
+ <soap:operation soapAction="InteropBase#echoBase64"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDate">
+ <soap:operation soapAction="InteropBase#echoDate"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoHexBinary">
+ <soap:operation soapAction="InteropBase#echoHexBinary"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDecimal">
+ <soap:operation soapAction="InteropBase#echoDecimal"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBoolean">
+ <soap:operation soapAction="InteropBase#echoBoolean"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="InteropBase">
+ <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest">
+ <soap:address location="http://localhost/axis/InteropBase"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/RpcSoapHeaderTest8.wsdl b/test/resources/wsdl/RpcSoapHeaderTest8.wsdl
new file mode 100644
index 0000000..f7d1945
--- /dev/null
+++ b/test/resources/wsdl/RpcSoapHeaderTest8.wsdl
@@ -0,0 +1,333 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="ArrayOfstring">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfint">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOffloat">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfSOAPStruct">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="SOAPStruct">
+ <all>
+ <element name="varString" type="string"/>
+ <element name="varInt" type="int"/>
+ <element name="varFloat" type="float"/>
+ </all>
+ </complexType>
+ </schema>
+ </types>
+
+ <message name="echoStringRequest">
+ <part name="inputString" type="xsd:string"/>
+ </message>
+ <message name="echoStringResponse">
+ <part name="return" type="xsd:string"/>
+ </message>
+ <message name="echoStringArrayRequest">
+ <part name="inputStringArray" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoStringArrayResponse">
+ <part name="return" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoIntegerRequest">
+ <part name="inputInteger" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerResponse">
+ <part name="return" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerArrayRequest">
+ <part name="inputIntegerArray" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoIntegerArrayResponse">
+ <part name="return" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoFloatRequest">
+ <part name="inputFloat" type="xsd:float"/>
+ </message>
+ <message name="echoFloatResponse">
+ <part name="return" type="xsd:float"/>
+ </message>
+ <message name="echoFloatArrayRequest">
+ <part name="inputFloatArray" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoFloatArrayResponse">
+ <part name="return" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoStructRequest">
+ <part name="inputStruct" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructResponse">
+ <part name="return" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructArrayRequest">
+ <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoStructArrayResponse">
+ <part name="return" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoVoidRequest"/>
+ <message name="echoVoidResponse"/>
+ <message name="echoBase64Request">
+ <part name="inputBase64" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoBase64Response">
+ <part name="return" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoDateRequest">
+ <part name="inputDate" type="xsd:dateTime"/>
+ </message>
+ <message name="echoDateResponse">
+ <part name="return" type="xsd:dateTime"/>
+ </message>
+ <message name="echoHexBinaryRequest">
+ <part name="inputHexBinary" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoHexBinaryResponse">
+ <part name="return" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoDecimalRequest">
+ <part name="inputDecimal" type="xsd:decimal"/>
+ </message>
+ <message name="echoDecimalResponse">
+ <part name="return" type="xsd:decimal"/>
+ </message>
+ <message name="echoBooleanRequest">
+ <part name="inputBoolean" type="xsd:boolean"/>
+ </message>
+ <message name="echoBooleanResponse">
+ <part name="return" type="xsd:boolean"/>
+ </message>
+
+ <portType name="InteropTestPortType">
+ <operation name="echoString" parameterOrder="inputString">
+ <input message="tns:echoStringRequest"/>
+ <output message="tns:echoStringResponse"/>
+ </operation>
+ <operation name="echoStringArray" parameterOrder="inputStringArray">
+ <input message="tns:echoStringArrayRequest"/>
+ <output message="tns:echoStringArrayResponse"/>
+ </operation>
+ <operation name="echoInteger" parameterOrder="inputInteger">
+ <input message="tns:echoIntegerRequest"/>
+ <output message="tns:echoIntegerResponse"/>
+ </operation>
+ <operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
+ <input message="tns:echoIntegerArrayRequest"/>
+ <output message="tns:echoIntegerArrayResponse"/>
+ </operation>
+ <operation name="echoFloat" parameterOrder="inputFloat">
+ <input message="tns:echoFloatRequest"/>
+ <output message="tns:echoFloatResponse"/>
+ </operation>
+ <operation name="echoFloatArray" parameterOrder="inputFloatArray">
+ <input message="tns:echoFloatArrayRequest"/>
+ <output message="tns:echoFloatArrayResponse"/>
+ </operation>
+ <operation name="echoStruct" parameterOrder="inputStruct">
+ <input message="tns:echoStructRequest"/>
+ <output message="tns:echoStructResponse"/>
+ </operation>
+ <operation name="echoStructArray" parameterOrder="inputStructArray">
+ <input message="tns:echoStructArrayRequest"/>
+ <output message="tns:echoStructArrayResponse"/>
+ </operation>
+ <operation name="echoVoid">
+ <input message="tns:echoVoidRequest"/>
+ <output message="tns:echoVoidResponse"/>
+ </operation>
+ <operation name="echoBase64" parameterOrder="inputBase64">
+ <input message="tns:echoBase64Request"/>
+ <output message="tns:echoBase64Response"/>
+ </operation>
+ <operation name="echoDate" parameterOrder="inputDate">
+ <input message="tns:echoDateRequest"/>
+ <output message="tns:echoDateResponse"/>
+ </operation>
+ <operation name="echoHexBinary" parameterOrder="inputHexBinary">
+ <input message="tns:echoHexBinaryRequest"/>
+ <output message="tns:echoHexBinaryResponse"/>
+ </operation>
+ <operation name="echoDecimal" parameterOrder="inputDecimal">
+ <input message="tns:echoDecimalRequest"/>
+ <output message="tns:echoDecimalResponse"/>
+ </operation>
+ <operation name="echoBoolean" parameterOrder="inputBoolean">
+ <input message="tns:echoBooleanRequest"/>
+ <output message="tns:echoBooleanResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoString">
+ <soap:operation soapAction="InteropBase#echoString"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStringArray">
+ <soap:operation soapAction="InteropBase#echoStringArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoInteger">
+ <soap:operation soapAction="InteropBase#echoInteger"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoIntegerArray">
+ <soap:operation soapAction="InteropBase#echoIntegerArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloat">
+ <soap:operation soapAction="InteropBase#echoFloat"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloatArray">
+ <soap:operation soapAction="InteropBase#echoFloatArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStruct">
+ <soap:operation soapAction="InteropBase#echoStruct"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStructArray">
+ <soap:operation soapAction="InteropBase#echoStructArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoVoid">
+ <soap:operation soapAction="InteropBase#echoVoid"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBase64">
+ <soap:operation soapAction="InteropBase#echoBase64"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDate">
+ <soap:operation soapAction="InteropBase#echoDate"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoHexBinary">
+ <soap:operation soapAction="InteropBase#echoHexBinary"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDecimal">
+ <soap:operation soapAction="InteropBase#echoDecimal"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBoolean">
+ <soap:operation soapAction="InteropBase#echoBoolean"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="InteropBase">
+ <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest">
+ <soap:address location="http://localhost/axis/InteropBase"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/RpcSoapHeaderTest9.wsdl b/test/resources/wsdl/RpcSoapHeaderTest9.wsdl
new file mode 100644
index 0000000..f7d1945
--- /dev/null
+++ b/test/resources/wsdl/RpcSoapHeaderTest9.wsdl
@@ -0,0 +1,333 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="ArrayOfstring">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfint">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOffloat">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfSOAPStruct">
+ <complexContent>
+ <restriction base="SOAP-ENC:Array">
+ <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="SOAPStruct">
+ <all>
+ <element name="varString" type="string"/>
+ <element name="varInt" type="int"/>
+ <element name="varFloat" type="float"/>
+ </all>
+ </complexType>
+ </schema>
+ </types>
+
+ <message name="echoStringRequest">
+ <part name="inputString" type="xsd:string"/>
+ </message>
+ <message name="echoStringResponse">
+ <part name="return" type="xsd:string"/>
+ </message>
+ <message name="echoStringArrayRequest">
+ <part name="inputStringArray" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoStringArrayResponse">
+ <part name="return" type="s:ArrayOfstring"/>
+ </message>
+ <message name="echoIntegerRequest">
+ <part name="inputInteger" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerResponse">
+ <part name="return" type="xsd:int"/>
+ </message>
+ <message name="echoIntegerArrayRequest">
+ <part name="inputIntegerArray" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoIntegerArrayResponse">
+ <part name="return" type="s:ArrayOfint"/>
+ </message>
+ <message name="echoFloatRequest">
+ <part name="inputFloat" type="xsd:float"/>
+ </message>
+ <message name="echoFloatResponse">
+ <part name="return" type="xsd:float"/>
+ </message>
+ <message name="echoFloatArrayRequest">
+ <part name="inputFloatArray" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoFloatArrayResponse">
+ <part name="return" type="s:ArrayOffloat"/>
+ </message>
+ <message name="echoStructRequest">
+ <part name="inputStruct" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructResponse">
+ <part name="return" type="s:SOAPStruct"/>
+ </message>
+ <message name="echoStructArrayRequest">
+ <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoStructArrayResponse">
+ <part name="return" type="s:ArrayOfSOAPStruct"/>
+ </message>
+ <message name="echoVoidRequest"/>
+ <message name="echoVoidResponse"/>
+ <message name="echoBase64Request">
+ <part name="inputBase64" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoBase64Response">
+ <part name="return" type="xsd:base64Binary"/>
+ </message>
+ <message name="echoDateRequest">
+ <part name="inputDate" type="xsd:dateTime"/>
+ </message>
+ <message name="echoDateResponse">
+ <part name="return" type="xsd:dateTime"/>
+ </message>
+ <message name="echoHexBinaryRequest">
+ <part name="inputHexBinary" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoHexBinaryResponse">
+ <part name="return" type="xsd:hexBinary"/>
+ </message>
+ <message name="echoDecimalRequest">
+ <part name="inputDecimal" type="xsd:decimal"/>
+ </message>
+ <message name="echoDecimalResponse">
+ <part name="return" type="xsd:decimal"/>
+ </message>
+ <message name="echoBooleanRequest">
+ <part name="inputBoolean" type="xsd:boolean"/>
+ </message>
+ <message name="echoBooleanResponse">
+ <part name="return" type="xsd:boolean"/>
+ </message>
+
+ <portType name="InteropTestPortType">
+ <operation name="echoString" parameterOrder="inputString">
+ <input message="tns:echoStringRequest"/>
+ <output message="tns:echoStringResponse"/>
+ </operation>
+ <operation name="echoStringArray" parameterOrder="inputStringArray">
+ <input message="tns:echoStringArrayRequest"/>
+ <output message="tns:echoStringArrayResponse"/>
+ </operation>
+ <operation name="echoInteger" parameterOrder="inputInteger">
+ <input message="tns:echoIntegerRequest"/>
+ <output message="tns:echoIntegerResponse"/>
+ </operation>
+ <operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
+ <input message="tns:echoIntegerArrayRequest"/>
+ <output message="tns:echoIntegerArrayResponse"/>
+ </operation>
+ <operation name="echoFloat" parameterOrder="inputFloat">
+ <input message="tns:echoFloatRequest"/>
+ <output message="tns:echoFloatResponse"/>
+ </operation>
+ <operation name="echoFloatArray" parameterOrder="inputFloatArray">
+ <input message="tns:echoFloatArrayRequest"/>
+ <output message="tns:echoFloatArrayResponse"/>
+ </operation>
+ <operation name="echoStruct" parameterOrder="inputStruct">
+ <input message="tns:echoStructRequest"/>
+ <output message="tns:echoStructResponse"/>
+ </operation>
+ <operation name="echoStructArray" parameterOrder="inputStructArray">
+ <input message="tns:echoStructArrayRequest"/>
+ <output message="tns:echoStructArrayResponse"/>
+ </operation>
+ <operation name="echoVoid">
+ <input message="tns:echoVoidRequest"/>
+ <output message="tns:echoVoidResponse"/>
+ </operation>
+ <operation name="echoBase64" parameterOrder="inputBase64">
+ <input message="tns:echoBase64Request"/>
+ <output message="tns:echoBase64Response"/>
+ </operation>
+ <operation name="echoDate" parameterOrder="inputDate">
+ <input message="tns:echoDateRequest"/>
+ <output message="tns:echoDateResponse"/>
+ </operation>
+ <operation name="echoHexBinary" parameterOrder="inputHexBinary">
+ <input message="tns:echoHexBinaryRequest"/>
+ <output message="tns:echoHexBinaryResponse"/>
+ </operation>
+ <operation name="echoDecimal" parameterOrder="inputDecimal">
+ <input message="tns:echoDecimalRequest"/>
+ <output message="tns:echoDecimalResponse"/>
+ </operation>
+ <operation name="echoBoolean" parameterOrder="inputBoolean">
+ <input message="tns:echoBooleanRequest"/>
+ <output message="tns:echoBooleanResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="InteropTestSoapBinding" type="tns:InteropTestPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoString">
+ <soap:operation soapAction="InteropBase#echoString"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStringArray">
+ <soap:operation soapAction="InteropBase#echoStringArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoInteger">
+ <soap:operation soapAction="InteropBase#echoInteger"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoIntegerArray">
+ <soap:operation soapAction="InteropBase#echoIntegerArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloat">
+ <soap:operation soapAction="InteropBase#echoFloat"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoFloatArray">
+ <soap:operation soapAction="InteropBase#echoFloatArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStruct">
+ <soap:operation soapAction="InteropBase#echoStruct"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoStructArray">
+ <soap:operation soapAction="InteropBase#echoStructArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoVoid">
+ <soap:operation soapAction="InteropBase#echoVoid"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBase64">
+ <soap:operation soapAction="InteropBase#echoBase64"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDate">
+ <soap:operation soapAction="InteropBase#echoDate"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoHexBinary">
+ <soap:operation soapAction="InteropBase#echoHexBinary"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoDecimal">
+ <soap:operation soapAction="InteropBase#echoDecimal"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ <operation name="echoBoolean">
+ <soap:operation soapAction="InteropBase#echoBoolean"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="InteropBase">
+ <port binding="tns:InteropTestSoapBinding" name="InteropBaseTest">
+ <soap:address location="http://localhost/axis/InteropBase"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/SimpleArray.wsdl b/test/resources/wsdl/SimpleArray.wsdl
new file mode 100644
index 0000000..ef42ca1
--- /dev/null
+++ b/test/resources/wsdl/SimpleArray.wsdl
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+
+ <element name="intItem" type="int" />
+ <complexType name="intArrayType">
+ <sequence>
+ <element ref="s:intItem" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+
+
+ </schema>
+ </types>
+ <message name="echoIntArrayRequest">
+ <part name ="inputIntArrayType" type="s:intArrayType"/>
+ </message>
+ <message name="echoIntArrayResponse">
+ <part name ="return" type="s:intArrayType"/>
+ </message>
+
+ <portType name="ArrayTestPortType">
+ <operation name="echoIntArray" parameterOrder="inputIntArrayType">
+ <input message="tns:echoIntArrayRequest"/>
+ <output message="tns:echoIntArrayResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="ArrayTestSoapBinding" type="tns:ArrayTestPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoIntArray">
+ <soap:operation soapAction="array#echoIntArray"/>
+ <input>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </input>
+ <output>
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+ </output>
+ </operation>
+
+ </binding>
+ <service name="array">
+ <port binding="tns:ArrayTestSoapBinding" name="arrayTest">
+ <soap:address location="http://localhost/axis/array"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/SimpleArrayDoc.wsdl b/test/resources/wsdl/SimpleArrayDoc.wsdl
new file mode 100644
index 0000000..d079513
--- /dev/null
+++ b/test/resources/wsdl/SimpleArrayDoc.wsdl
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions targetNamespace="http://soapinterop.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org" xmlns:intf="http://soapinterop.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org" xmlns:intf="http://soapinterop.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <complexType name="intArrayType">
+ <sequence>
+ <element maxOccurs="unbounded" name="intItem" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ <element name="echoIntArray">
+ <complexType>
+ <sequence>
+ <element name="arg_0_0" nillable="true" type="impl:intArrayType"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoIntArrayResponse">
+ <complexType>
+ <sequence>
+ <element name="echoIntArrayReturn" nillable="true" type="impl:intArrayType"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="echoIntArrayRequest">
+
+ <wsdl:part element="impl:echoIntArray" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoIntArrayResponse">
+
+ <wsdl:part element="impl:echoIntArrayResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:portType name="ArrayTestPortType">
+
+ <wsdl:operation name="echoIntArray">
+
+ <wsdl:input message="impl:echoIntArrayRequest" name="echoIntArrayRequest"/>
+
+ <wsdl:output message="impl:echoIntArrayResponse" name="echoIntArrayResponse"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="arrayTestSoapBinding" type="impl:ArrayTestPortType">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="echoIntArray">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="echoIntArrayRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="echoIntArrayResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="array">
+
+ <wsdl:port binding="impl:arrayTestSoapBinding" name="arrayTest">
+
+ <wsdlsoap:address location="http://localhost/axis/array"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/test/resources/wsdl/SimpleArrays.wsdl b/test/resources/wsdl/SimpleArrays.wsdl
new file mode 100644
index 0000000..ae60352
--- /dev/null
+++ b/test/resources/wsdl/SimpleArrays.wsdl
@@ -0,0 +1,299 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://arrays.test.apache.org" xmlns:impl="http://arrays.test.apache.org" xmlns:intf="http://arrays.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://arrays.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://arrays.test.apache.org" xmlns:intf="http://arrays.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <element name="echoBooleanArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="arg_0_0" type="xsd:boolean"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoBooleanArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="echoBooleanArrayReturn" type="xsd:boolean"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoByteArray">
+ <complexType>
+ <sequence>
+ <element name="arg_0_1" type="xsd:base64Binary"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoByteArrayResponse">
+ <complexType>
+ <sequence>
+ <element name="echoByteArrayReturn" type="xsd:base64Binary"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoShortArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="arg_0_2" type="xsd:short"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoShortArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="echoShortArrayReturn" type="xsd:short"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoIntArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="arg_0_3" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoIntArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="echoIntArrayReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoLongArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="arg_0_4" type="xsd:long"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoLongArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="echoLongArrayReturn" type="xsd:long"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoFloatArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="arg_0_5" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoFloatArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="echoFloatArrayReturn" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoDoubleArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="arg_0_6" type="xsd:double"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoDoubleArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="echoDoubleArrayReturn" type="xsd:double"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStringArray">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="arg_0_7" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStringArrayResponse">
+ <complexType>
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="0" name="echoStringArrayReturn" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+ <wsdl:message name="echoDoubleArrayRequest">
+ <wsdl:part element="impl:echoDoubleArray" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoIntArrayResponse">
+ <wsdl:part element="impl:echoIntArrayResponse" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoByteArrayRequest">
+ <wsdl:part element="impl:echoByteArray" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoShortArrayRequest">
+ <wsdl:part element="impl:echoShortArray" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoShortArrayResponse">
+ <wsdl:part element="impl:echoShortArrayResponse" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoIntArrayRequest">
+ <wsdl:part element="impl:echoIntArray" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoDoubleArrayResponse">
+ <wsdl:part element="impl:echoDoubleArrayResponse" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoBooleanArrayResponse">
+ <wsdl:part element="impl:echoBooleanArrayResponse" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoBooleanArrayRequest">
+ <wsdl:part element="impl:echoBooleanArray" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoLongArrayRequest">
+ <wsdl:part element="impl:echoLongArray" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoFloatArrayRequest">
+ <wsdl:part element="impl:echoFloatArray" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoByteArrayResponse">
+ <wsdl:part element="impl:echoByteArrayResponse" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoStringArrayRequest">
+ <wsdl:part element="impl:echoStringArray" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoLongArrayResponse">
+ <wsdl:part element="impl:echoLongArrayResponse" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoStringArrayResponse">
+ <wsdl:part element="impl:echoStringArrayResponse" name="parameters"/>
+ </wsdl:message>
+ <wsdl:message name="echoFloatArrayResponse">
+ <wsdl:part element="impl:echoFloatArrayResponse" name="parameters"/>
+ </wsdl:message>
+
+ <wsdl:portType name="SimpleArrays">
+ <wsdl:operation name="echoBooleanArray">
+ <wsdl:input message="impl:echoBooleanArrayRequest" name="echoBooleanArrayRequest"/>
+ <wsdl:output message="impl:echoBooleanArrayResponse" name="echoBooleanArrayResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="echoByteArray">
+ <wsdl:input message="impl:echoByteArrayRequest" name="echoByteArrayRequest"/>
+ <wsdl:output message="impl:echoByteArrayResponse" name="echoByteArrayResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="echoShortArray">
+ <wsdl:input message="impl:echoShortArrayRequest" name="echoShortArrayRequest"/>
+ <wsdl:output message="impl:echoShortArrayResponse" name="echoShortArrayResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="echoIntArray">
+ <wsdl:input message="impl:echoIntArrayRequest" name="echoIntArrayRequest"/>
+ <wsdl:output message="impl:echoIntArrayResponse" name="echoIntArrayResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="echoLongArray">
+ <wsdl:input message="impl:echoLongArrayRequest" name="echoLongArrayRequest"/>
+ <wsdl:output message="impl:echoLongArrayResponse" name="echoLongArrayResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="echoFloatArray">
+ <wsdl:input message="impl:echoFloatArrayRequest" name="echoFloatArrayRequest"/>
+ <wsdl:output message="impl:echoFloatArrayResponse" name="echoFloatArrayResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="echoDoubleArray">
+ <wsdl:input message="impl:echoDoubleArrayRequest" name="echoDoubleArrayRequest"/>
+ <wsdl:output message="impl:echoDoubleArrayResponse" name="echoDoubleArrayResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="echoStringArray">
+ <wsdl:input message="impl:echoStringArrayRequest" name="echoStringArrayRequest"/>
+ <wsdl:output message="impl:echoStringArrayResponse" name="echoStringArrayResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:binding name="SimpleArraysSoapBinding" type="impl:SimpleArrays">
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="echoBooleanArray">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="echoBooleanArrayRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="echoBooleanArrayResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="echoByteArray">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="echoByteArrayRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="echoByteArrayResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="echoShortArray">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="echoShortArrayRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="echoShortArrayResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="echoIntArray">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="echoIntArrayRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="echoIntArrayResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="echoLongArray">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="echoLongArrayRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="echoLongArrayResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="echoFloatArray">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="echoFloatArrayRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="echoFloatArrayResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="echoDoubleArray">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="echoDoubleArrayRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="echoDoubleArrayResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="echoStringArray">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="echoStringArrayRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="echoStringArrayResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="SimpleArraysService">
+ <wsdl:port binding="impl:SimpleArraysSoapBinding" name="SimpleArraysPort">
+ <wsdlsoap:address location="http://lion:9080/SimpleArrays/services/SimpleArraysPort"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/SimpleChoice.wsdl b/test/resources/wsdl/SimpleChoice.wsdl
new file mode 100644
index 0000000..37329ed
--- /dev/null
+++ b/test/resources/wsdl/SimpleChoice.wsdl
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="utf-8"?>
+<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/">
+ <s:import namespace="http://soapinterop.org/xsd" />
+
+
+
+
+ <s:element name="echoChoice">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="0" maxOccurs="1" name="inputChoice" type="s1:ChoiceComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+ <s:element name="echoChoiceResponse">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:ChoiceComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+
+
+
+ </s:schema>
+
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd">
+ <s:import namespace="http://soapinterop.org/" />
+
+ <s:complexType name="ChoiceComplexType">
+ <s:sequence>
+ <s:choice minOccurs="1" maxOccurs="1">
+ <s:element minOccurs="0" maxOccurs="1" name="IntValue" type="s:int" />
+ <s:element minOccurs="0" maxOccurs="1" name="StringValue" type="s:string" />
+ </s:choice>
+ </s:sequence>
+ </s:complexType>
+ </s:schema>
+
+ </types>
+
+
+
+ <message name="echoChoiceSoapIn">
+ <part name="parameters" element="s0:echoChoice" />
+ </message>
+ <message name="echoChoiceSoapOut">
+ <part name="parameters" element="s0:echoChoiceResponse" />
+ </message>
+
+ <portType name="ChoiceTestSoap">
+
+
+ <operation name="echoChoice">
+ <input message="s0:echoChoiceSoapIn" />
+ <output message="s0:echoChoiceSoapOut" />
+ </operation>
+
+ </portType>
+
+
+ <binding name="ChoiceTestSoap" type="s0:ChoiceTestSoap">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+ <operation name="echoChoice">
+ <soap:operation soapAction="SimpleChoiceTest#echoChoice" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<binding name="ChoiceTestSoap12" type="s0:ChoiceTestSoap">
+ <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+
+ <operation name="echoChoice">
+ <soap12:operation soapAction="Choice#echoChoice" style="document" />
+ <input>
+ <soap12:body use="literal" />
+ </input>
+ <output>
+ <soap12:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<service name="ChoiceTest">
+ <documentation>These operations implement DOC/LIT SOAP operations, for interoperable testing. Please email johnko@microsoft.com with any questions/coments.</documentation>
+ <port name="ChoiceTestSoap" binding="s0:ChoiceTestSoap">
+ <soap:address location="http://localhost:90/axis/Choice" />
+ </port>
+ <port name="ChoiceTestSoap12" binding="s0:ChoiceTestSoap12">
+ <soap12:address location="http://localhost:90/axis/Choice" />
+ </port>
+ </service>
+</definitions> \ No newline at end of file
diff --git a/test/resources/wsdl/SimpleRef.wsdl b/test/resources/wsdl/SimpleRef.wsdl
new file mode 100644
index 0000000..58e2a99
--- /dev/null
+++ b/test/resources/wsdl/SimpleRef.wsdl
@@ -0,0 +1,114 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+
+<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+
+
+ <types>
+
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+
+
+
+ <element name="intItem" type="int" />
+
+ <complexType name="intType">
+
+ <sequence>
+
+ <element ref="s:intItem" />
+
+ </sequence>
+
+ </complexType>
+
+
+
+
+
+ </schema>
+
+ </types>
+
+ <message name="echoIntRequest">
+
+ <part name ="inputIntType" type="s:intType"/>
+
+ </message>
+
+ <message name="echoIntResponse">
+
+ <part name ="return" type="s:intType"/>
+
+ </message>
+
+
+
+ <portType name="RefTestPortType">
+
+ <operation name="echoInt" parameterOrder="inputIntType">
+
+ <input message="tns:echoIntRequest"/>
+
+ <output message="tns:echoIntResponse"/>
+
+ </operation>
+
+ </portType>
+
+
+
+ <binding name="RefTestSoapBinding" type="tns:RefTestPortType">
+
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <operation name="echoInt">
+
+ <soap:operation soapAction="ref#echoInt"/>
+
+ <input>
+
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+
+ </input>
+
+ <output>
+
+ <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+
+ </output>
+
+ </operation>
+
+
+
+ </binding>
+
+ <service name="ref">
+
+ <port binding="tns:RefTestSoapBinding" name="RefTest">
+
+ <soap:address location="http://localhost/axis/ref"/>
+
+ </port>
+
+ </service>
+
+</definitions>
+
diff --git a/test/resources/wsdl/SimpleRefDoc.wsdl b/test/resources/wsdl/SimpleRefDoc.wsdl
new file mode 100644
index 0000000..543a472
--- /dev/null
+++ b/test/resources/wsdl/SimpleRefDoc.wsdl
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://soapinterop.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org" xmlns:intf="http://soapinterop.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soapinterop.org" xmlns:intf="http://soapinterop.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <complexType name="intType">
+ <sequence>
+ <element name="intItem" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ <element name="echoInt">
+ <complexType>
+ <sequence>
+ <element name="arg_0_0" nillable="true" type="impl:intType"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoIntResponse">
+ <complexType>
+ <sequence>
+ <element name="echoIntReturn" nillable="true" type="impl:intType"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="echoIntRequest">
+
+ <wsdl:part element="impl:echoInt" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="echoIntResponse">
+
+ <wsdl:part element="impl:echoIntResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:portType name="RefTestPortType">
+
+ <wsdl:operation name="echoInt">
+
+ <wsdl:input message="impl:echoIntRequest" name="echoIntRequest"/>
+
+ <wsdl:output message="impl:echoIntResponse" name="echoIntResponse"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="refSoapBinding" type="impl:RefTestPortType">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="echoInt">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="echoIntRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="echoIntResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="ref">
+
+ <wsdl:port binding="impl:refSoapBinding" name="RefTest">
+
+ <wsdlsoap:address location="http://localhost/axis/ref"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/test/resources/wsdl/SimpleTypeArray.wsdl b/test/resources/wsdl/SimpleTypeArray.wsdl
new file mode 100644
index 0000000..410ec86
--- /dev/null
+++ b/test/resources/wsdl/SimpleTypeArray.wsdl
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions targetNamespace="http://simpletypearray.test.apache.org" xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://simpletypearray.test.apache.org" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <xsd:schema targetNamespace="http://simpletypearray.test.apache.org" xmlns:tns="http://simpletypearray.test.apache.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <xsd:element name="getInput">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="input" type="tns:Type"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="Type">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="item" type="xsd:int"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:element name="getInputResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="input" type="tns:Type"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ </xsd:schema>
+ </types>
+ <message name="output">
+ <part name="parameters" element="tns:getInputResponse"/>
+ </message>
+ <message name="input">
+ <part name="parameters" element="tns:getInput"/>
+ </message>
+ <portType name="SimpleTypeArrayWS">
+ <operation name="getInput">
+ <input message="tns:input"/>
+ <output message="tns:output"/>
+ </operation>
+ </portType>
+ <binding name="SimpleTypeArrayWSBinding" type="tns:SimpleTypeArrayWS">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="getInput">
+ <soap:operation/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="SimpleTypeArrayWSService">
+ <port name="sampleWS" binding="tns:SimpleTypeArrayWSBinding">
+ <soap:address location="http://localhost:9080/SimpleTypeArray/services/sampleWS"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/SimpleTypeInnerUnbounded.wsdl b/test/resources/wsdl/SimpleTypeInnerUnbounded.wsdl
new file mode 100644
index 0000000..15e4eba
--- /dev/null
+++ b/test/resources/wsdl/SimpleTypeInnerUnbounded.wsdl
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions targetNamespace="http://simpletypeinnerunbounded.test.apache.org" xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://simpletypeinnerunbounded.test.apache.org" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://simpletypeinnerunbounded.test.apache.org" xmlns:tns="http://simpletypeinnerunbounded.test.apache.org">
+
+ <xsd:element name="getInput">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="type" maxOccurs="1" minOccurs="0" type="tns:Type1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="getInputResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="type" maxOccurs="1" minOccurs="0" type="tns:Type1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="Type1">
+ <xsd:sequence>
+ <xsd:element name="enum_int" maxOccurs="1" minOccurs="0" type="tns:TypeInt" />
+ <xsd:element name="enum_string" maxOccurs="1" minOccurs="0" type="tns:TypeString" />
+ <xsd:element maxOccurs="100" minOccurs="1" name="ident">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="att_enum_int" type="tns:TypeInt"/>
+ <xsd:attribute name="att_enum_string" type="tns:TypeString"/>
+ <xsd:attribute name="att_enum_kind">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="CHEQUE" />
+ <xsd:enumeration value="CREDIT_CARD" />
+ <xsd:enumeration value="TRANSFER" />
+ <xsd:enumeration value="WITHDRAWAL" />
+ <xsd:enumeration value="AUTOMATIC" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:simpleType name="TypeInt">
+ <xsd:restriction base="xsd:int">
+ <xsd:enumeration value="0" />
+ <xsd:enumeration value="1" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="TypeString">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="one" />
+ <xsd:enumeration value="two" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ </xsd:schema>
+ </types>
+
+
+ <message name="input">
+ <part name="parameters" element="tns:getInput" />
+ </message>
+
+ <message name="output">
+ <part name="parameters" element="tns:getInputResponse" />
+ </message>
+
+ <portType name="SimpleTypeInnerUnboundedWS">
+ <operation name="getInput">
+ <input message="tns:input" />
+ <output message="tns:output" />
+ </operation>
+ </portType>
+
+ <binding name="SimpleTypeInnerUnboundedWSBinding" type="tns:SimpleTypeInnerUnboundedWS">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="getInput">
+ <soap:operation />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ </operation>
+ </binding>
+
+ <service name="SimpleTypeInnerUnboundedWSService">
+ <port name="sampleWS" binding="tns:SimpleTypeInnerUnboundedWSBinding">
+ <soap:address location="http://localhost:9080/SimpleTypeInnerUnbounded/services/sampleWS"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/SimpleTypeInnerUnboundedInOutput.wsdl b/test/resources/wsdl/SimpleTypeInnerUnboundedInOutput.wsdl
new file mode 100644
index 0000000..3aceb9f
--- /dev/null
+++ b/test/resources/wsdl/SimpleTypeInnerUnboundedInOutput.wsdl
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions targetNamespace="http://simpletypeinnerunboundedinoutput.test.apache.org" xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://simpletypeinnerunboundedinoutput.test.apache.org" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://simpletypeinnerunboundedinoutput.test.apache.org" xmlns:tns="http://simpletypeinnerunboundedinoutput.test.apache.org">
+
+ <xsd:element name="getInput">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="type" maxOccurs="1" minOccurs="0" type="xsd:int" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="getInputResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="type" maxOccurs="1" minOccurs="0" type="tns:Type1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="Type1">
+ <xsd:sequence>
+ <!--xsd:element name="enum_int" maxOccurs="1" minOccurs="0" type="tns:TypeInt" />
+ <xsd:element name="enum_string" maxOccurs="1" minOccurs="0" type="tns:TypeString" /-->
+ <xsd:element maxOccurs="100" minOccurs="1" name="ident">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ </xsd:element>
+ </xsd:sequence>
+ <!--xsd:attribute name="att_enum_int" type="tns:TypeInt"/>
+ <xsd:attribute name="att_enum_string" type="tns:TypeString"/>
+ <xsd:attribute name="att_enum_kind">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="CHEQUE" />
+ <xsd:enumeration value="CREDIT_CARD" />
+ <xsd:enumeration value="TRANSFER" />
+ <xsd:enumeration value="WITHDRAWAL" />
+ <xsd:enumeration value="AUTOMATIC" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute-->
+ </xsd:complexType>
+
+ <xsd:simpleType name="TypeInt">
+ <xsd:restriction base="xsd:int">
+ <xsd:enumeration value="0" />
+ <xsd:enumeration value="1" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="TypeString">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="one" />
+ <xsd:enumeration value="two" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ </xsd:schema>
+ </types>
+
+
+ <message name="input">
+ <part name="parameters" element="tns:getInput" />
+ </message>
+
+ <message name="output">
+ <part name="parameters" element="tns:getInputResponse" />
+ </message>
+
+ <portType name="SimpleTypeInnerUnboundedInOutputWS">
+ <operation name="getInput">
+ <input message="tns:input" />
+ <output message="tns:output" />
+ </operation>
+ </portType>
+
+ <binding name="SimpleTypeInnerUnboundedInOutputWSBinding" type="tns:SimpleTypeInnerUnboundedInOutputWS">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="getInput">
+ <soap:operation />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ </operation>
+ </binding>
+
+ <service name="SimpleTypeInnerUnboundedInOutputWSService">
+ <port name="sampleWS" binding="tns:SimpleTypeInnerUnboundedInOutputWSBinding">
+ <soap:address location="http://localhost:9080/SimpleTypeInnerUnboundedInOutput/services/sampleWS" />
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/StockQuotes.wsdl b/test/resources/wsdl/StockQuotes.wsdl
new file mode 100644
index 0000000..a5be851
--- /dev/null
+++ b/test/resources/wsdl/StockQuotes.wsdl
@@ -0,0 +1,48 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<definitions name='net.xmethods.services.stockquote.StockQuote'
+ targetNamespace='http://www.themindelectric.com/wsdl/net.xmethods.services.stockquote.StockQuote/'
+ xmlns:tns='http://www.themindelectric.com/wsdl/net.xmethods.services.stockquote.StockQuote/'
+ xmlns:electric='http://www.themindelectric.com/'
+ xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
+ xmlns:xsd='http://www.w3.org/2001/XMLSchema'
+ xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'
+ xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'
+ xmlns='http://schemas.xmlsoap.org/wsdl/'>
+
+<message name='getQuoteResponse1'>
+ <part name='Result' type='xsd:float'/>
+</message>
+<message name='getQuoteRequest1'>
+ <part name='symbol' type='xsd:string'/>
+</message>
+
+<portType name='net.xmethods.services.stockquote.StockQuotePortType'>
+ <operation name='getQuote' parameterOrder='symbol'>
+ <input message='tns:getQuoteRequest1'/>
+ <output message='tns:getQuoteResponse1'/>
+ </operation>
+</portType>
+
+<binding name='net.xmethods.services.stockquote.StockQuoteBinding'
+ type='tns:net.xmethods.services.stockquote.StockQuotePortType'>
+ <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/>
+ <operation name='getQuote'>
+ <soap:operation soapAction='urn:xmethods-delayed-quotes#getQuote'/>
+ <input>
+ <soap:body use='encoded' namespace='urn:xmethods-delayed-quotes'
+ encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
+ </input>
+ <output><soap:body use='encoded' namespace='urn:xmethods-delayed-quotes'
+ encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
+ </output>
+ </operation>
+</binding>
+
+<service name='net.xmethods.services.stockquote.StockQuoteService'>
+ <documentation>net.xmethods.services.stockquote.StockQuote web service</documentation>
+ <port name='net.xmethods.services.stockquote.StockQuotePort'
+ binding='tns:net.xmethods.services.stockquote.StockQuoteBinding'>
+ <soap:address location='http://64.124.140.30:9090/soap'/>
+ </port></service>
+
+</definitions>
diff --git a/test/resources/wsdl/TestTransportTimeout.wsdl b/test/resources/wsdl/TestTransportTimeout.wsdl
new file mode 100644
index 0000000..9a469d6
--- /dev/null
+++ b/test/resources/wsdl/TestTransportTimeout.wsdl
@@ -0,0 +1,255 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://localhost/axis/Calculator" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost/axis/Calculator" xmlns:intf="http://localhost/axis/Calculator" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://localhost/axis/Calculator" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost/axis/Calculator" xmlns:intf="http://localhost/axis/Calculator" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <element name="add">
+ <complexType>
+ <sequence>
+ <element name="arg_0_0" type="xsd:int"/>
+ <element name="arg_1_0" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="addResponse">
+ <complexType>
+ <sequence>
+ <element name="addReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="sub">
+ <complexType>
+ <sequence>
+ <element name="arg_0_1" type="xsd:int"/>
+ <element name="arg_1_1" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="subResponse">
+ <complexType>
+ <sequence>
+ <element name="subReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="mul">
+ <complexType>
+ <sequence>
+ <element name="arg_0_2" type="xsd:int"/>
+ <element name="arg_1_2" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="mulResponse">
+ <complexType>
+ <sequence>
+ <element name="mulReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="div">
+ <complexType>
+ <sequence>
+ <element name="arg_0_3" type="xsd:int"/>
+ <element name="arg_1_3" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="divResponse">
+ <complexType>
+ <sequence>
+ <element name="divReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="subResponse">
+
+ <wsdl:part element="impl:subResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="mulResponse">
+
+ <wsdl:part element="impl:mulResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="subRequest">
+
+ <wsdl:part element="impl:sub" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="divRequest">
+
+ <wsdl:part element="impl:div" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="divResponse">
+
+ <wsdl:part element="impl:divResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="mulRequest">
+
+ <wsdl:part element="impl:mul" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="addResponse">
+
+ <wsdl:part element="impl:addResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="addRequest">
+
+ <wsdl:part element="impl:add" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:portType name="Timeout">
+
+ <wsdl:operation name="add">
+
+ <wsdl:input message="impl:addRequest" name="addRequest"/>
+
+ <wsdl:output message="impl:addResponse" name="addResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="sub">
+
+ <wsdl:input message="impl:subRequest" name="subRequest"/>
+
+ <wsdl:output message="impl:subResponse" name="subResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="mul">
+
+ <wsdl:input message="impl:mulRequest" name="mulRequest"/>
+
+ <wsdl:output message="impl:mulResponse" name="mulResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="div">
+
+ <wsdl:input message="impl:divRequest" name="divRequest"/>
+
+ <wsdl:output message="impl:divResponse" name="divResponse"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="TestTransportTimeoutSoapBinding" type="impl:Timeout">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="add">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="addRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="addResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="sub">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="subRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="subResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="mul">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="mulRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="mulResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="div">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="divRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="divResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="TestTransportTimeout">
+
+ <wsdl:port binding="impl:TestTransportTimeoutSoapBinding" name="TestTransportTimeoutPort">
+
+ <wsdlsoap:address location="http://localhost/axis/TestTransportTimeout"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/test/resources/wsdl/UDDI.wsdl b/test/resources/wsdl/UDDI.wsdl
new file mode 100644
index 0000000..1e0e527
--- /dev/null
+++ b/test/resources/wsdl/UDDI.wsdl
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+ <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ name="UDDI"
+ targetNamespace="http://tempuri.org/UDDI/"
+ xmlns:tns="urn:uddi-org:inquiry_v2">
+
+ <wsdl:import namespace="urn:uddi-org:inquiry_v2" location="inquire_v2.wsdl" />
+
+ <wsdl:service name="UDDI">
+ <wsdl:port binding="tns:InquireSoap" name="UDDIinquire">
+ <soap:address location="http://tempuri.org" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/UnboundedChoice.wsdl b/test/resources/wsdl/UnboundedChoice.wsdl
new file mode 100644
index 0000000..69bee20
--- /dev/null
+++ b/test/resources/wsdl/UnboundedChoice.wsdl
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="utf-8"?>
+<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/">
+ <s:import namespace="http://soapinterop.org/xsd" />
+
+
+
+
+ <s:element name="echoChoice">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="0" maxOccurs="1" name="inputChoice" type="s1:ChoiceComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+ <s:element name="echoChoiceResponse">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:ChoiceComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+
+
+
+ </s:schema>
+
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd">
+ <s:import namespace="http://soapinterop.org/" />
+
+ <s:complexType name="ChoiceComplexType">
+ <s:sequence>
+ <s:choice minOccurs="1" maxOccurs="1">
+ <s:element minOccurs="0" maxOccurs="unbounded" name="IntValue" type="s:int" />
+ <s:element minOccurs="0" maxOccurs="1" name="StringValue" type="s:string" />
+ </s:choice>
+ </s:sequence>
+ </s:complexType>
+ </s:schema>
+
+ </types>
+
+
+
+ <message name="echoChoiceSoapIn">
+ <part name="parameters" element="s0:echoChoice" />
+ </message>
+ <message name="echoChoiceSoapOut">
+ <part name="parameters" element="s0:echoChoiceResponse" />
+ </message>
+
+ <portType name="ChoiceTestSoap">
+
+
+ <operation name="echoChoice">
+ <input message="s0:echoChoiceSoapIn" />
+ <output message="s0:echoChoiceSoapOut" />
+ </operation>
+
+ </portType>
+
+
+ <binding name="ChoiceTestSoap" type="s0:ChoiceTestSoap">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+ <operation name="echoChoice">
+ <soap:operation soapAction="SimpleChoiceTest#echoChoice" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<binding name="ChoiceTestSoap12" type="s0:ChoiceTestSoap">
+ <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+
+ <operation name="echoChoice">
+ <soap12:operation soapAction="Choice#echoChoice" style="document" />
+ <input>
+ <soap12:body use="literal" />
+ </input>
+ <output>
+ <soap12:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<service name="ChoiceTest">
+ <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation>
+ <port name="ChoiceTestSoap" binding="s0:ChoiceTestSoap">
+ <soap:address location="http://localhost:90/axis/Choice" />
+ </port>
+ <port name="ChoiceTestSoap12" binding="s0:ChoiceTestSoap12">
+ <soap12:address location="http://localhost:90/axis/Choice" />
+ </port>
+ </service>
+</definitions> \ No newline at end of file
diff --git a/test/resources/wsdl/UnboundedStringChoice.wsdl b/test/resources/wsdl/UnboundedStringChoice.wsdl
new file mode 100644
index 0000000..7a88296
--- /dev/null
+++ b/test/resources/wsdl/UnboundedStringChoice.wsdl
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/">
+ <s:import namespace="http://soapinterop.org/xsd" />
+
+
+
+ <s:element name="echoChoice">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="0" maxOccurs="1" name="inputChoice" type="s1:ChoiceComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+ <s:element name="echoChoiceResponse">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:ChoiceComplexType" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+
+
+
+ </s:schema>
+
+ <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd">
+ <s:import namespace="http://soapinterop.org/" />
+
+ <s:complexType name="ChoiceComplexType">
+ <s:sequence>
+ <s:choice minOccurs="1" maxOccurs="1">
+ <s:element minOccurs="0" maxOccurs="1" name="IntValue" type="s:int" />
+ <s:element minOccurs="0" maxOccurs="5" name="StringValue" type="s:string" />
+ </s:choice>
+ </s:sequence>
+ </s:complexType>
+ </s:schema>
+
+ </types>
+
+
+
+ <message name="echoChoiceSoapIn">
+ <part name="parameters" element="s0:echoChoice" />
+ </message>
+ <message name="echoChoiceSoapOut">
+ <part name="parameters" element="s0:echoChoiceResponse" />
+ </message>
+
+ <portType name="ChoiceTestSoap">
+
+
+ <operation name="echoChoice">
+ <input message="s0:echoChoiceSoapIn" />
+ <output message="s0:echoChoiceSoapOut" />
+ </operation>
+
+ </portType>
+
+
+ <binding name="ChoiceTestSoap" type="s0:ChoiceTestSoap">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+ <operation name="echoChoice">
+ <soap:operation soapAction="SimpleChoiceTest#echoChoice" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<binding name="ChoiceTestSoap12" type="s0:ChoiceTestSoap">
+ <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+
+
+ <operation name="echoChoice">
+ <soap12:operation soapAction="Choice#echoChoice" style="document" />
+ <input>
+ <soap12:body use="literal" />
+ </input>
+ <output>
+ <soap12:body use="literal" />
+ </output>
+ </operation>
+
+ </binding>
+
+<service name="ChoiceTest">
+ <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation>
+ <port name="ChoiceTestSoap" binding="s0:ChoiceTestSoap">
+ <soap:address location="http://localhost:90/axis/Choice" />
+ </port>
+ <port name="ChoiceTestSoap12" binding="s0:ChoiceTestSoap12">
+ <soap12:address location="http://localhost:90/axis/Choice" />
+ </port>
+ </service>
+</definitions> \ No newline at end of file
diff --git a/test/resources/wsdl/XSDAttribute.wsdl b/test/resources/wsdl/XSDAttribute.wsdl
new file mode 100644
index 0000000..2c3f44f
--- /dev/null
+++ b/test/resources/wsdl/XSDAttribute.wsdl
@@ -0,0 +1,1046 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://xsdattribute.test.apache.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xsdattribute.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://xsdattribute.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xsdattribute.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <!-- ############################################ -->
+ <!-- Define the operation elements and data types -->
+ <!-- ############################################ -->
+
+ <!-- test boolean as attribute -->
+ <xsd:element name="getDataBoolean">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeBoolean" maxOccurs="1" minOccurs="0" type="impl:BooleanType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataBooleanResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeBoolean" maxOccurs="1" minOccurs="0" type="impl:BooleanType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="BooleanType">
+ <xsd:attribute name="booleanType" type="xsd:boolean"/>
+ </xsd:complexType>
+
+ <!-- test byte as attribute -->
+ <xsd:element name="getDataByte">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeByte" maxOccurs="1" minOccurs="0" type="impl:ByteType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataByteResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeByte" maxOccurs="1" minOccurs="0" type="impl:ByteType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="ByteType">
+ <xsd:attribute name="byteType" type="xsd:byte"/>
+ </xsd:complexType>
+
+ <!-- test unsigned_byte as attribute -->
+ <xsd:element name="getDataUnsignedByte">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeUnsignedByte" maxOccurs="1" minOccurs="0" type="impl:UnsignedByteType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataUnsignedByteResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeUnsignedByte" maxOccurs="1" minOccurs="0" type="impl:UnsignedByteType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="UnsignedByteType">
+ <xsd:attribute name="unsignedByteType" type="xsd:unsignedByte"/>
+ </xsd:complexType>
+
+ <!-- test short as attribute -->
+ <xsd:element name="getDataShort">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeShort" maxOccurs="1" minOccurs="0" type="impl:ShortType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataShortResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeShort" maxOccurs="1" minOccurs="0" type="impl:ShortType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="ShortType">
+ <xsd:attribute name="shortType" type="xsd:short"/>
+ </xsd:complexType>
+
+ <!-- test unsigned_short as attribute -->
+ <xsd:element name="getDataUnsignedShort">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeUnsignedShort" maxOccurs="1" minOccurs="0" type="impl:UnsignedShortType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataUnsignedShortResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeUnsignedShort" maxOccurs="1" minOccurs="0" type="impl:UnsignedShortType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="UnsignedShortType">
+ <xsd:attribute name="unsignedShortType" type="xsd:unsignedShort"/>
+ </xsd:complexType>
+
+ <!-- test int as attribute -->
+ <xsd:element name="getDataInt">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeInt" maxOccurs="1" minOccurs="0" type="impl:IntType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataIntResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeInt" maxOccurs="1" minOccurs="0" type="impl:IntType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="IntType">
+ <xsd:attribute name="intType" type="xsd:int"/>
+ </xsd:complexType>
+
+ <!-- test unsigned_int as attribute -->
+ <xsd:element name="getDataUnsignedInt">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeUnsignedInt" maxOccurs="1" minOccurs="0" type="impl:UnsignedIntType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataUnsignedIntResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeUnsignedInt" maxOccurs="1" minOccurs="0" type="impl:UnsignedIntType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="UnsignedIntType">
+ <xsd:attribute name="unsignedIntType" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+
+ <!-- test long as attribute -->
+ <xsd:element name="getDataLong">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeLong" maxOccurs="1" minOccurs="0" type="impl:LongType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataLongResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeLong" maxOccurs="1" minOccurs="0" type="impl:LongType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="LongType">
+ <xsd:attribute name="longType" type="xsd:long"/>
+ </xsd:complexType>
+
+ <!-- test unsigned_long as attribute -->
+ <xsd:element name="getDataUnsignedLong">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeUnsignedLong" maxOccurs="1" minOccurs="0" type="impl:UnsignedLongType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataUnsignedLongResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeUnsignedLong" maxOccurs="1" minOccurs="0" type="impl:UnsignedLongType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="UnsignedLongType">
+ <xsd:attribute name="unsignedLongType" type="xsd:unsignedLong"/>
+ </xsd:complexType>
+
+ <!-- test float as attribute -->
+ <xsd:element name="getDataFloat">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeFloat" maxOccurs="1" minOccurs="0" type="impl:FloatType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataFloatResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeFloat" maxOccurs="1" minOccurs="0" type="impl:FloatType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="FloatType">
+ <xsd:attribute name="floatType" type="xsd:float"/>
+ </xsd:complexType>
+
+ <!-- test double as attribute -->
+ <xsd:element name="getDataDouble">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeDouble" maxOccurs="1" minOccurs="0" type="impl:DoubleType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataDoubleResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeDouble" maxOccurs="1" minOccurs="0" type="impl:DoubleType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="DoubleType">
+ <xsd:attribute name="doubleType" type="xsd:double"/>
+ </xsd:complexType>
+
+ <!-- test string as attribute -->
+ <xsd:element name="getDataString">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeString" maxOccurs="1" minOccurs="0" type="impl:StringType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataStringResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeString" maxOccurs="1" minOccurs="0" type="impl:StringType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="StringType">
+ <xsd:attribute name="stringType" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- test date as attribute -->
+ <xsd:element name="getDataDate">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeDate" maxOccurs="1" minOccurs="0" type="impl:DateType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataDateResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeDate" maxOccurs="1" minOccurs="0" type="impl:DateType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="DateType">
+ <xsd:attribute name="dateType" type="xsd:date"/>
+ </xsd:complexType>
+
+ <!-- test dateTime as attribute -->
+ <xsd:element name="getDataDateTime">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeDateTime" maxOccurs="1" minOccurs="0" type="impl:DateTimeType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataDateTimeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeDateTime" maxOccurs="1" minOccurs="0" type="impl:DateTimeType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="DateTimeType">
+ <xsd:attribute name="dateTimeType" type="xsd:dateTime"/>
+ </xsd:complexType>
+
+ <!-- test time as attribute -->
+ <xsd:element name="getDataTime">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeTime" maxOccurs="1" minOccurs="0" type="impl:TimeType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataTimeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeTime" maxOccurs="1" minOccurs="0" type="impl:TimeType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="TimeType">
+ <xsd:attribute name="timeType" type="xsd:time"/>
+ </xsd:complexType>
+
+
+ <!-- test duration as attribute -->
+<!--
+ <xsd:element name="getDataDuration">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeDuration" maxOccurs="1" minOccurs="0" type="impl:DurationType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataDurationResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeDuration" maxOccurs="1" minOccurs="0" type="impl:DurationType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="DurationType">
+ <xsd:attribute name="durationType" type="xsd:duration"/>
+ </xsd:complexType>
+-->
+
+ <!-- test base64Binary as attribute -->
+ <xsd:element name="getDataBase64Binary">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeBase64Binary" maxOccurs="1" minOccurs="0" type="impl:Base64BinaryType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataBase64BinaryResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeBase64Binary" maxOccurs="1" minOccurs="0" type="impl:Base64BinaryType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="Base64BinaryType">
+ <xsd:attribute name="base64BinaryType" type="xsd:base64Binary"/>
+ </xsd:complexType>
+
+ <!-- test hexBinary as attribute -->
+ <xsd:element name="getDataHexBinary">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeHexBinary" maxOccurs="1" minOccurs="0" type="impl:HexBinaryType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataHexBinaryResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeHexBinary" maxOccurs="1" minOccurs="0" type="impl:HexBinaryType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="HexBinaryType">
+ <xsd:attribute name="hexBinaryType" type="xsd:hexBinary"/>
+ </xsd:complexType>
+
+ <!-- test integer as attribute -->
+ <xsd:element name="getDataInteger">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeInteger" maxOccurs="1" minOccurs="0" type="impl:IntegerType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataIntegerResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeInteger" maxOccurs="1" minOccurs="0" type="impl:IntegerType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="IntegerType">
+ <xsd:attribute name="integerType" type="xsd:integer"/>
+ </xsd:complexType>
+
+ <!-- test decimal as attribute -->
+ <xsd:element name="getDataDecimal">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeDecimal" maxOccurs="1" minOccurs="0" type="impl:DecimalType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataDecimalResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeDecimal" maxOccurs="1" minOccurs="0" type="impl:DecimalType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="DecimalType">
+ <xsd:attribute name="decimalType" type="xsd:decimal"/>
+ </xsd:complexType>
+
+ <!-- test QName as attribute -->
+ <xsd:element name="getDataQName">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeQName" maxOccurs="1" minOccurs="0" type="impl:QNameType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataQNameResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeQName" maxOccurs="1" minOccurs="0" type="impl:QNameType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="QNameType">
+ <xsd:attribute name="qnameType" type="xsd:QName"/>
+ </xsd:complexType>
+
+ <!-- test anyURI as attribute -->
+ <xsd:element name="getDataAnyURI">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeAnyURI" maxOccurs="1" minOccurs="0" type="impl:AnyURIType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getDataAnyURIResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TypeAnyURI" maxOccurs="1" minOccurs="0" type="impl:AnyURIType" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="AnyURIType">
+ <xsd:attribute name="anyURIType" type="xsd:anyURI"/>
+ </xsd:complexType>
+
+ </schema>
+
+ </wsdl:types>
+
+
+ <!-- ############################################ -->
+ <!-- Define the message elements and data types -->
+ <!-- ############################################ -->
+
+ <!-- test boolean as attribute -->
+ <wsdl:message name="getDataBooleanRequest">
+ <wsdl:part element="impl:getDataBoolean" name="gdboolean"/>
+ </wsdl:message>
+ <wsdl:message name="getDataBooleanResponse">
+ <wsdl:part element="impl:getDataBooleanResponse" name="gdbooleanr"/>
+ </wsdl:message>
+
+ <!-- test byte as attribute -->
+ <wsdl:message name="getDataByteRequest">
+ <wsdl:part element="impl:getDataByte" name="gdbyte"/>
+ </wsdl:message>
+ <wsdl:message name="getDataByteResponse">
+ <wsdl:part element="impl:getDataByteResponse" name="gdbyter"/>
+ </wsdl:message>
+
+ <!-- test unsigned_byte as attribute -->
+ <wsdl:message name="getDataUnsignedByteRequest">
+ <wsdl:part element="impl:getDataUnsignedByte" name="gdubyte"/>
+ </wsdl:message>
+ <wsdl:message name="getDataUnsignedByteResponse">
+ <wsdl:part element="impl:getDataUnsignedByteResponse" name="gdubyter"/>
+ </wsdl:message>
+
+ <!-- test short as attribute -->
+ <wsdl:message name="getDataShortRequest">
+ <wsdl:part element="impl:getDataShort" name="gdshort"/>
+ </wsdl:message>
+ <wsdl:message name="getDataShortResponse">
+ <wsdl:part element="impl:getDataShortResponse" name="gdshortr"/>
+ </wsdl:message>
+
+ <!-- test unsigned_short as attribute -->
+ <wsdl:message name="getDataUnsignedShortRequest">
+ <wsdl:part element="impl:getDataUnsignedShort" name="gdushort"/>
+ </wsdl:message>
+ <wsdl:message name="getDataUnsignedShortResponse">
+ <wsdl:part element="impl:getDataUnsignedShortResponse" name="gdushortr"/>
+ </wsdl:message>
+
+ <!-- test int as attribute -->
+ <wsdl:message name="getDataIntRequest">
+ <wsdl:part element="impl:getDataInt" name="gdint"/>
+ </wsdl:message>
+ <wsdl:message name="getDataIntResponse">
+ <wsdl:part element="impl:getDataIntResponse" name="gdintr"/>
+ </wsdl:message>
+
+ <!-- test unsigned_int as attribute -->
+ <wsdl:message name="getDataUnsignedIntRequest">
+ <wsdl:part element="impl:getDataUnsignedInt" name="gduint"/>
+ </wsdl:message>
+ <wsdl:message name="getDataUnsignedIntResponse">
+ <wsdl:part element="impl:getDataUnsignedIntResponse" name="gduintr"/>
+ </wsdl:message>
+
+ <!-- test long as attribute -->
+ <wsdl:message name="getDataLongRequest">
+ <wsdl:part element="impl:getDataLong" name="gdlong"/>
+ </wsdl:message>
+ <wsdl:message name="getDataLongResponse">
+ <wsdl:part element="impl:getDataLongResponse" name="gdlongr"/>
+ </wsdl:message>
+
+ <!-- test unsigned_long as attribute -->
+ <wsdl:message name="getDataUnsignedLongRequest">
+ <wsdl:part element="impl:getDataUnsignedLong" name="gdulong"/>
+ </wsdl:message>
+ <wsdl:message name="getDataUnsignedLongResponse">
+ <wsdl:part element="impl:getDataUnsignedLongResponse" name="gdulongr"/>
+ </wsdl:message>
+
+ <!-- test float as attribute -->
+ <wsdl:message name="getDataFloatRequest">
+ <wsdl:part element="impl:getDataFloat" name="gdfloat"/>
+ </wsdl:message>
+ <wsdl:message name="getDataFloatResponse">
+ <wsdl:part element="impl:getDataFloatResponse" name="gdfloatr"/>
+ </wsdl:message>
+
+ <!-- test double as attribute -->
+ <wsdl:message name="getDataDoubleRequest">
+ <wsdl:part element="impl:getDataDouble" name="gddouble"/>
+ </wsdl:message>
+ <wsdl:message name="getDataDoubleResponse">
+ <wsdl:part element="impl:getDataDoubleResponse" name="gddoubler"/>
+ </wsdl:message>
+
+ <!-- test string as attribute -->
+ <wsdl:message name="getDataStringRequest">
+ <wsdl:part element="impl:getDataString" name="gdstring"/>
+ </wsdl:message>
+ <wsdl:message name="getDataStringResponse">
+ <wsdl:part element="impl:getDataStringResponse" name="gdstringr"/>
+ </wsdl:message>
+
+ <!-- test date as attribute -->
+ <wsdl:message name="getDataDateRequest">
+ <wsdl:part element="impl:getDataDate" name="gddate"/>
+ </wsdl:message>
+ <wsdl:message name="getDataDateResponse">
+ <wsdl:part element="impl:getDataDateResponse" name="gddater"/>
+ </wsdl:message>
+
+ <!-- test dateTime as attribute -->
+ <wsdl:message name="getDataDateTimeRequest">
+ <wsdl:part element="impl:getDataDateTime" name="gddatetime"/>
+ </wsdl:message>
+ <wsdl:message name="getDataDateTimeResponse">
+ <wsdl:part element="impl:getDataDateTimeResponse" name="gddatetimer"/>
+ </wsdl:message>
+
+ <!-- test time as attribute -->
+ <wsdl:message name="getDataTimeRequest">
+ <wsdl:part element="impl:getDataTime" name="gdtime"/>
+ </wsdl:message>
+ <wsdl:message name="getDataTimeResponse">
+ <wsdl:part element="impl:getDataTimeResponse" name="gdtimer"/>
+ </wsdl:message>
+
+ <!-- test duration as attribute -->
+<!--
+ <wsdl:message name="getDataDurationRequest">
+ <wsdl:part element="impl:getDataDuration" name="gdduration"/>
+ </wsdl:message>
+ <wsdl:message name="getDataDurationResponse">
+ <wsdl:part element="impl:getDataDurationResponse" name="gddurationr"/>
+ </wsdl:message>
+-->
+
+ <!-- test base64Binary as attribute -->
+ <wsdl:message name="getDataBase64BinaryRequest">
+ <wsdl:part element="impl:getDataBase64Binary" name="gdbase64binary"/>
+ </wsdl:message>
+ <wsdl:message name="getDataBase64BinaryResponse">
+ <wsdl:part element="impl:getDataBase64BinaryResponse" name="gdbase64binaryr"/>
+ </wsdl:message>
+
+ <!-- test hexBinary as attribute -->
+ <wsdl:message name="getDataHexBinaryRequest">
+ <wsdl:part element="impl:getDataHexBinary" name="gdhexbinary"/>
+ </wsdl:message>
+ <wsdl:message name="getDataHexBinaryResponse">
+ <wsdl:part element="impl:getDataHexBinaryResponse" name="gdbhexbinaryr"/>
+ </wsdl:message>
+
+ <!-- test integer as attribute -->
+ <wsdl:message name="getDataIntegerRequest">
+ <wsdl:part element="impl:getDataInteger" name="gdinteger"/>
+ </wsdl:message>
+ <wsdl:message name="getDataIntegerResponse">
+ <wsdl:part element="impl:getDataIntegerResponse" name="gdintegerr"/>
+ </wsdl:message>
+
+ <!-- test decimal as attribute -->
+ <wsdl:message name="getDataDecimalRequest">
+ <wsdl:part element="impl:getDataDecimal" name="gddecimal"/>
+ </wsdl:message>
+ <wsdl:message name="getDataDecimalResponse">
+ <wsdl:part element="impl:getDataDecimalResponse" name="gddecimalr"/>
+ </wsdl:message>
+
+ <!-- test QName as attribute -->
+ <wsdl:message name="getDataQNameRequest">
+ <wsdl:part element="impl:getDataQName" name="gdqname"/>
+ </wsdl:message>
+ <wsdl:message name="getDataQNameResponse">
+ <wsdl:part element="impl:getDataQNameResponse" name="gdqnamer"/>
+ </wsdl:message>
+
+ <!-- test anyURI as attribute -->
+ <wsdl:message name="getDataAnyURIRequest">
+ <wsdl:part element="impl:getDataAnyURI" name="gdanyuri"/>
+ </wsdl:message>
+ <wsdl:message name="getDataAnyURIResponse">
+ <wsdl:part element="impl:getDataAnyURIResponse" name="gdanyurir"/>
+ </wsdl:message>
+
+
+ <!-- ############################################ -->
+ <!-- Define the operations and messages -->
+ <!-- ############################################ -->
+
+ <wsdl:portType name="XSDAttribute">
+
+ <!-- test boolean as attribute -->
+ <wsdl:operation name="getDataBoolean">
+ <wsdl:input message="impl:getDataBooleanRequest" name="getDataBooleanRequest"/>
+ <wsdl:output message="impl:getDataBooleanResponse" name="getDataBooleanResponse"/>
+ </wsdl:operation>
+
+ <!-- test byte as attribute -->
+ <wsdl:operation name="getDataByte">
+ <wsdl:input message="impl:getDataByteRequest" name="getDataByteRequest"/>
+ <wsdl:output message="impl:getDataByteResponse" name="getDataByteResponse"/>
+ </wsdl:operation>
+
+ <!-- test unsigned_byte as attribute -->
+ <wsdl:operation name="getDataUnsignedByte">
+ <wsdl:input message="impl:getDataUnsignedByteRequest" name="getDataUnsignedByteRequest"/>
+ <wsdl:output message="impl:getDataUnsignedByteResponse" name="getDataUnsignedByteResponse"/>
+ </wsdl:operation>
+
+ <!-- test short as attribute -->
+ <wsdl:operation name="getDataShort">
+ <wsdl:input message="impl:getDataShortRequest" name="getDataShortRequest"/>
+ <wsdl:output message="impl:getDataShortResponse" name="getDataShortResponse"/>
+ </wsdl:operation>
+
+ <!-- test unsigned_short as attribute -->
+ <wsdl:operation name="getDataUnsignedShort">
+ <wsdl:input message="impl:getDataUnsignedShortRequest" name="getDataUnsignedShortRequest"/>
+ <wsdl:output message="impl:getDataUnsignedShortResponse" name="getDataUnsignedShortResponse"/>
+ </wsdl:operation>
+
+ <!-- test int as attribute -->
+ <wsdl:operation name="getDataInt">
+ <wsdl:input message="impl:getDataIntRequest" name="getDataIntRequest"/>
+ <wsdl:output message="impl:getDataIntResponse" name="getDataIntResponse"/>
+ </wsdl:operation>
+
+ <!-- test unsigned_int as attribute -->
+ <wsdl:operation name="getDataUnsignedInt">
+ <wsdl:input message="impl:getDataUnsignedIntRequest" name="getDataUnsignedIntRequest"/>
+ <wsdl:output message="impl:getDataUnsignedIntResponse" name="getDataUnsignedIntResponse"/>
+ </wsdl:operation>
+
+ <!-- test long as attribute -->
+ <wsdl:operation name="getDataLong">
+ <wsdl:input message="impl:getDataLongRequest" name="getDataLongRequest"/>
+ <wsdl:output message="impl:getDataLongResponse" name="getDataLongResponse"/>
+ </wsdl:operation>
+
+ <!-- test unsigned_long as attribute -->
+ <wsdl:operation name="getDataUnsignedLong">
+ <wsdl:input message="impl:getDataUnsignedLongRequest" name="getDataUnsignedLongRequest"/>
+ <wsdl:output message="impl:getDataUnsignedLongResponse" name="getDataUnsignedLongResponse"/>
+ </wsdl:operation>
+
+ <!-- test float as attribute -->
+ <wsdl:operation name="getDataFloat">
+ <wsdl:input message="impl:getDataFloatRequest" name="getDataFloatRequest"/>
+ <wsdl:output message="impl:getDataFloatResponse" name="getDataFloatResponse"/>
+ </wsdl:operation>
+
+ <!-- test double as attribute -->
+ <wsdl:operation name="getDataDouble">
+ <wsdl:input message="impl:getDataDoubleRequest" name="getDataDoubleRequest"/>
+ <wsdl:output message="impl:getDataDoubleResponse" name="getDataDoubleResponse"/>
+ </wsdl:operation>
+
+ <!-- test string as attribute -->
+ <wsdl:operation name="getDataString">
+ <wsdl:input message="impl:getDataStringRequest" name="getDataStringRequest"/>
+ <wsdl:output message="impl:getDataStringResponse" name="getDataStringResponse"/>
+ </wsdl:operation>
+
+ <!-- test date as attribute -->
+ <wsdl:operation name="getDataDate">
+ <wsdl:input message="impl:getDataDateRequest" name="getDataDateRequest"/>
+ <wsdl:output message="impl:getDataDateResponse" name="getDataDateResponse"/>
+ </wsdl:operation>
+
+ <!-- test dateTime as attribute -->
+ <wsdl:operation name="getDataDateTime">
+ <wsdl:input message="impl:getDataDateTimeRequest" name="getDataDateTimeRequest"/>
+ <wsdl:output message="impl:getDataDateTimeResponse" name="getDataDateTimeResponse"/>
+ </wsdl:operation>
+
+ <!-- test time as attribute -->
+ <wsdl:operation name="getDataTime">
+ <wsdl:input message="impl:getDataTimeRequest" name="getDataTimeRequest"/>
+ <wsdl:output message="impl:getDataTimeResponse" name="getDataTimeResponse"/>
+ </wsdl:operation>
+
+ <!-- test duration as attribute -->
+<!--
+ <wsdl:operation name="getDataDuration">
+ <wsdl:input message="impl:getDataDurationRequest" name="getDataDurationRequest"/>
+ <wsdl:output message="impl:getDataDurationResponse" name="getDataDurationResponse"/>
+ </wsdl:operation>
+-->
+
+ <!-- test base64Binary as attribute -->
+ <wsdl:operation name="getDataBase64Binary">
+ <wsdl:input message="impl:getDataBase64BinaryRequest" name="getDataBase64BinaryRequest"/>
+ <wsdl:output message="impl:getDataBase64BinaryResponse" name="getDataBase64BinaryResponse"/>
+ </wsdl:operation>
+
+ <!-- test hexBinary as attribute -->
+ <wsdl:operation name="getDataHexBinary">
+ <wsdl:input message="impl:getDataHexBinaryRequest" name="getDataHexBinaryRequest"/>
+ <wsdl:output message="impl:getDataHexBinaryResponse" name="getDataHexBinaryResponse"/>
+ </wsdl:operation>
+
+ <!-- test integer as attribute -->
+ <wsdl:operation name="getDataInteger">
+ <wsdl:input message="impl:getDataIntegerRequest" name="getDataIntegerRequest"/>
+ <wsdl:output message="impl:getDataIntegerResponse" name="getDataIntegerResponse"/>
+ </wsdl:operation>
+
+ <!-- test decimal as attribute -->
+ <wsdl:operation name="getDataDecimal">
+ <wsdl:input message="impl:getDataDecimalRequest" name="getDataDecimalRequest"/>
+ <wsdl:output message="impl:getDataDecimalResponse" name="getDataDecimalResponse"/>
+ </wsdl:operation>
+
+ <!-- test QName as attribute -->
+ <wsdl:operation name="getDataQName">
+ <wsdl:input message="impl:getDataQNameRequest" name="getDataQNameRequest"/>
+ <wsdl:output message="impl:getDataQNameResponse" name="getDataQNameResponse"/>
+ </wsdl:operation>
+
+ <!-- test anyURI as attribute -->
+ <wsdl:operation name="getDataAnyURI">
+ <wsdl:input message="impl:getDataAnyURIRequest" name="getDataAnyURIRequest"/>
+ <wsdl:output message="impl:getDataAnyURIResponse" name="getDataAnyURIResponse"/>
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+
+
+ <!-- ############################################ -->
+ <!-- Define the operation bindings -->
+ <!-- ############################################ -->
+
+ <wsdl:binding name="XSDAttributeSoapBinding" type="impl:XSDAttribute">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <!-- test boolean as attribute -->
+ <wsdl:operation name="getDataBoolean">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataBooleanRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataBooleanResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test byte as attribute -->
+ <wsdl:operation name="getDataByte">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataByteRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataByteResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test unsigned_byte as attribute -->
+ <wsdl:operation name="getDataUnsignedByte">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataUnsignedByteRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataUnsignedByteResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test short as attribute -->
+ <wsdl:operation name="getDataShort">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataShortRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataShortResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test unsigned_short as attribute -->
+ <wsdl:operation name="getDataUnsignedShort">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataUnsignedShortRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataUnsignedShortResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test int as attribute -->
+ <wsdl:operation name="getDataInt">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataIntRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataIntResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test unsigned_int as attribute -->
+ <wsdl:operation name="getDataUnsignedInt">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataUnsignedIntRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataUnsignedIntResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test long as attribute -->
+ <wsdl:operation name="getDataLong">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataLongRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataLongResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test unsigned_long as attribute -->
+ <wsdl:operation name="getDataUnsignedLong">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataUnsignedLongRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataUnsignedLongResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test float as attribute -->
+ <wsdl:operation name="getDataFloat">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataFloatRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataFloatResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test double as attribute -->
+ <wsdl:operation name="getDataDouble">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataDoubleRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataDoubleResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test string as attribute -->
+ <wsdl:operation name="getDataString">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataStringRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataStringResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test date as attribute -->
+ <wsdl:operation name="getDataDate">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataDateRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataDateResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test dateTime as attribute -->
+ <wsdl:operation name="getDataDateTime">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataDateTimeRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataDateTimeResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test time as attribute -->
+ <wsdl:operation name="getDataTime">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataTimeRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataTimeResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test duration as attribute -->
+<!--
+ <wsdl:operation name="getDataDuration">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataDurationRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataDurationResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+-->
+
+ <!-- test base64Binary as attribute -->
+ <wsdl:operation name="getDataBase64Binary">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataBase64BinaryRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataBase64BinaryResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test hexBinary as attribute -->
+ <wsdl:operation name="getDataHexBinary">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataHexBinaryRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataHexBinaryResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test integer as attribute -->
+ <wsdl:operation name="getDataInteger">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataIntegerRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataIntegerResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test decimal as attribute -->
+ <wsdl:operation name="getDataDecimal">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataDecimalRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataDecimalResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test QName as attribute -->
+ <wsdl:operation name="getDataQName">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataQNameRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataQNameResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <!-- test anyURI as attribute -->
+ <wsdl:operation name="getDataAnyURI">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="getDataAnyURIRequest">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="getDataAnyURIResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+
+
+ <!-- ############################################ -->
+ <!-- Define the Service -->
+ <!-- ############################################ -->
+
+ <wsdl:service name="XSDAttributeService">
+ <wsdl:port binding="impl:XSDAttributeSoapBinding" name="XSDAttributePort">
+ <wsdlsoap:address location="http://localhost:9080/XSDAttribute/services/XSDAttributePort"/>
+ </wsdl:port>
+ </wsdl:service>
+
+</wsdl:definitions>
+
diff --git a/test/resources/wsdl/XSDElement.wsdl b/test/resources/wsdl/XSDElement.wsdl
new file mode 100644
index 0000000..13309e6
--- /dev/null
+++ b/test/resources/wsdl/XSDElement.wsdl
@@ -0,0 +1,1422 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://xsdelement.test.apache.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xsdelement.test.apache.org" xmlns:intf="http://xsdelement.test.apache.org" xmlns:tns2="http://complextypes.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://xsdelement.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xsdelement.test.apache.org" xmlns:intf="http://xsdelement.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <element name="setGetDataInt">
+ <complexType>
+ <sequence>
+ <element name="arg_0_2" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataIntResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataIntReturn" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataUnsignedInt">
+ <complexType>
+ <sequence>
+ <element name="arg_0_u2" type="xsd:unsignedInt"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataUnsignedIntResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataUnsignedIntReturn" type="xsd:unsignedInt"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataLong">
+ <complexType>
+ <sequence>
+ <element name="arg_0_5" type="xsd:long"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataLongResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataLongReturn" type="xsd:long"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataUnsignedLong">
+ <complexType>
+ <sequence>
+ <element name="arg_0_u5" type="xsd:unsignedLong"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataUnsignedLongResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataUnsignedLongReturn" type="xsd:unsignedLong"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataByte">
+ <complexType>
+ <sequence>
+ <element name="arg_0_14" type="xsd:byte"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataByteResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataByteReturn" type="xsd:byte"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataUnsignedByte">
+ <complexType>
+ <sequence>
+ <element name="arg_0_u14" type="xsd:unsignedByte"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataUnsignedByteResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataUnsignedByteReturn" type="xsd:unsignedByte"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataShort">
+ <complexType>
+ <sequence>
+ <element name="arg_0_26" type="xsd:short"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataShortResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataShortReturn" type="xsd:short"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataUnsignedShort">
+ <complexType>
+ <sequence>
+ <element name="arg_0_u26" type="xsd:unsignedShort"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataUnsignedShortResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataUnsignedShortReturn" type="xsd:unsignedShort"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataBoolean">
+ <complexType>
+ <sequence>
+ <element name="arg_0_17" type="xsd:boolean"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataBooleanResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataBooleanReturn" type="xsd:boolean"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataDouble">
+ <complexType>
+ <sequence>
+ <element name="arg_0_8" type="xsd:double"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataDoubleResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataDoubleReturn" type="xsd:double"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataFloat">
+ <complexType>
+ <sequence>
+ <element name="arg_0_11" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataFloatResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataFloatReturn" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataString">
+ <complexType>
+ <sequence>
+ <element name="arg_0_23" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataStringResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataStringReturn" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDateTimeType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_32" type="xsd:dateTime"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDateTimeTypeResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDateTimeTypeReturn" type="xsd:dateTime"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDateType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_35" type="xsd:date"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDateTypeResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDateTypeReturn" type="xsd:date"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataDurationType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_d35" type="xsd:duration"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataDurationTypeResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataDurationTypeReturn" type="xsd:duration"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetTimeType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_38" type="xsd:time"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetTimeTypeResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetTimeTypeReturn" type="xsd:time"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetBase64BinaryType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_41" type="xsd:base64Binary"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetBase64BinaryTypeResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetBase64BinaryTypeReturn" type="xsd:base64Binary"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetHexBinary">
+ <complexType>
+ <sequence>
+ <element name="arg_0_44" type="xsd:hexBinary"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetHexBinaryResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetHexBinaryReturn" type="xsd:hexBinary"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDecimalType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_47" type="xsd:decimal"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDecimalTypeResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDecimalTypeReturn" type="xsd:decimal"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetIntegerType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_50" type="xsd:integer"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetIntegerTypeResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetIntegerTypeReturn" type="xsd:integer"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="getQNameType">
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+ <element name="getQNameTypeResponse">
+ <complexType>
+ <sequence>
+ <element name="getQNameTypeReturn" type="xsd:QName"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setQNameType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_52" type="xsd:QName"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setQNameTypeResponse">
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+
+ <element name="getAnyURIType">
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+ <element name="getAnyURITypeResponse">
+ <complexType>
+ <sequence>
+ <element name="getAnyURITypeReturn" type="xsd:anyURI"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setAnyURIType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_a52" type="xsd:anyURI"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setAnyURITypeResponse">
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+
+ </schema>
+
+ </wsdl:types>
+
+
+
+ <wsdl:message name="setGetDataIntRequest">
+
+ <wsdl:part element="impl:setGetDataInt" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataUnsignedIntRequest">
+
+ <wsdl:part element="impl:setGetDataUnsignedInt" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+
+
+ <wsdl:message name="setGetDataIntResponse">
+
+ <wsdl:part element="impl:setGetDataIntResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="setGetDataUnsignedIntResponse">
+
+ <wsdl:part element="impl:setGetDataUnsignedIntResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataByteRequest">
+
+ <wsdl:part element="impl:setGetDataByte" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataUnsignedByteRequest">
+
+ <wsdl:part element="impl:setGetDataUnsignedByte" name="parameters"/>
+
+ </wsdl:message>
+
+
+ <wsdl:message name="setGetDataByteResponse">
+
+ <wsdl:part element="impl:setGetDataByteResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="setGetDataUnsignedByteResponse">
+
+ <wsdl:part element="impl:setGetDataUnsignedByteResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="setGetDataLongRequest">
+
+ <wsdl:part element="impl:setGetDataLong" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataLongResponse">
+
+ <wsdl:part element="impl:setGetDataLongResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataUnsignedLongRequest">
+
+ <wsdl:part element="impl:setGetDataUnsignedLong" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataUnsignedLongResponse">
+
+ <wsdl:part element="impl:setGetDataUnsignedLongResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataShortRequest">
+
+ <wsdl:part element="impl:setGetDataShort" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataShortResponse">
+
+ <wsdl:part element="impl:setGetDataShortResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataUnsignedShortRequest">
+
+ <wsdl:part element="impl:setGetDataUnsignedShort" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataUnsignedShortResponse">
+
+ <wsdl:part element="impl:setGetDataUnsignedShortResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataBooleanRequest">
+
+ <wsdl:part element="impl:setGetDataBoolean" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataBooleanResponse">
+
+ <wsdl:part element="impl:setGetDataBooleanResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataFloatRequest">
+
+ <wsdl:part element="impl:setGetDataFloat" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataFloatResponse">
+
+ <wsdl:part element="impl:setGetDataFloatResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataDoubleRequest">
+
+ <wsdl:part element="impl:setGetDataDouble" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataDoubleResponse">
+
+ <wsdl:part element="impl:setGetDataDoubleResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDecimalTypeRequest">
+
+ <wsdl:part element="impl:setGetDecimalType" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDecimalTypeResponse">
+
+ <wsdl:part element="impl:setGetDecimalTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetHexBinaryRequest">
+
+ <wsdl:part element="impl:setGetHexBinary" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetHexBinaryResponse">
+
+ <wsdl:part element="impl:setGetHexBinaryResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetBase64BinaryTypeRequest">
+
+ <wsdl:part element="impl:setGetBase64BinaryType" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetBase64BinaryTypeResponse">
+
+ <wsdl:part element="impl:setGetBase64BinaryTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDateTimeTypeRequest">
+
+ <wsdl:part element="impl:setGetDateTimeType" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDateTimeTypeResponse">
+
+ <wsdl:part element="impl:setGetDateTimeTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetIntegerTypeRequest">
+
+ <wsdl:part element="impl:setGetIntegerType" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetIntegerTypeResponse">
+
+ <wsdl:part element="impl:setGetIntegerTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataStringRequest">
+
+ <wsdl:part element="impl:setGetDataString" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataStringResponse">
+
+ <wsdl:part element="impl:setGetDataStringResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="setAnyURITypeRequest">
+
+ <wsdl:part element="impl:setAnyURIType" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="getAnyURITypeRequest">
+
+ <wsdl:part element="impl:getAnyURIType" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="setAnyURITypeResponse">
+
+ <wsdl:part element="impl:setAnyURITypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="getAnyURITypeResponse">
+
+ <wsdl:part element="impl:getAnyURITypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="setQNameTypeRequest">
+
+ <wsdl:part element="impl:setQNameType" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="getQNameTypeRequest">
+
+ <wsdl:part element="impl:getQNameType" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="setQNameTypeResponse">
+
+ <wsdl:part element="impl:setQNameTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="getQNameTypeResponse">
+
+ <wsdl:part element="impl:getQNameTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDateTypeRequest">
+
+ <wsdl:part element="impl:setGetDateType" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDateTypeResponse">
+
+ <wsdl:part element="impl:setGetDateTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataDurationTypeRequest">
+
+ <wsdl:part element="impl:setGetDataDurationType" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataDurationTypeResponse">
+
+ <wsdl:part element="impl:setGetDataDurationTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetTimeTypeRequest">
+
+ <wsdl:part element="impl:setGetTimeType" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetTimeTypeResponse">
+
+ <wsdl:part element="impl:setGetTimeTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:portType name="XSDElement">
+
+
+
+ <wsdl:operation name="setGetDataInt">
+
+ <wsdl:input message="impl:setGetDataIntRequest" name="setGetDataIntRequest"/>
+
+ <wsdl:output message="impl:setGetDataIntResponse" name="setGetDataIntResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataUnsignedInt">
+
+ <wsdl:input message="impl:setGetDataUnsignedIntRequest" name="setGetDataUnsignedIntRequest"/>
+
+ <wsdl:output message="impl:setGetDataUnsignedIntResponse" name="setGetDataUnsignedIntResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataLong">
+
+ <wsdl:input message="impl:setGetDataLongRequest" name="setGetDataLongRequest"/>
+
+ <wsdl:output message="impl:setGetDataLongResponse" name="setGetDataLongResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataUnsignedLong">
+
+ <wsdl:input message="impl:setGetDataUnsignedLongRequest" name="setGetDataUnsignedLongRequest"/>
+
+ <wsdl:output message="impl:setGetDataUnsignedLongResponse" name="setGetDataUnsignedLongResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataDouble">
+
+ <wsdl:input message="impl:setGetDataDoubleRequest" name="setGetDataDoubleRequest"/>
+
+ <wsdl:output message="impl:setGetDataDoubleResponse" name="setGetDataDoubleResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataFloat">
+
+ <wsdl:input message="impl:setGetDataFloatRequest" name="setGetDataFloatRequest"/>
+
+ <wsdl:output message="impl:setGetDataFloatResponse" name="setGetDataFloatResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataByte">
+
+ <wsdl:input message="impl:setGetDataByteRequest" name="setGetDataByteRequest"/>
+
+ <wsdl:output message="impl:setGetDataByteResponse" name="setGetDataByteResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataUnsignedByte">
+
+ <wsdl:input message="impl:setGetDataUnsignedByteRequest" name="setGetDataUnsignedByteRequest"/>
+
+ <wsdl:output message="impl:setGetDataUnsignedByteResponse" name="setGetDataUnsignedByteResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataBoolean">
+
+ <wsdl:input message="impl:setGetDataBooleanRequest" name="setGetDataBooleanRequest"/>
+
+ <wsdl:output message="impl:setGetDataBooleanResponse" name="setGetDataBooleanResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataString">
+
+ <wsdl:input message="impl:setGetDataStringRequest" name="setGetDataStringRequest"/>
+
+ <wsdl:output message="impl:setGetDataStringResponse" name="setGetDataStringResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataShort">
+
+ <wsdl:input message="impl:setGetDataShortRequest" name="setGetDataShortRequest"/>
+
+ <wsdl:output message="impl:setGetDataShortResponse" name="setGetDataShortResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataUnsignedShort">
+
+ <wsdl:input message="impl:setGetDataUnsignedShortRequest" name="setGetDataUnsignedShortRequest"/>
+
+ <wsdl:output message="impl:setGetDataUnsignedShortResponse" name="setGetDataUnsignedShortResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDateTimeType">
+
+ <wsdl:input message="impl:setGetDateTimeTypeRequest" name="setGetDateTimeTypeRequest"/>
+
+ <wsdl:output message="impl:setGetDateTimeTypeResponse" name="setGetDateTimeTypeResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDateType">
+
+ <wsdl:input message="impl:setGetDateTypeRequest" name="setGetDateTypeRequest"/>
+
+ <wsdl:output message="impl:setGetDateTypeResponse" name="setGetDateTypeResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataDurationType">
+
+ <wsdl:input message="impl:setGetDataDurationTypeRequest" name="setGetDataDurationTypeRequest"/>
+
+ <wsdl:output message="impl:setGetDataDurationTypeResponse" name="setGetDataDurationTypeResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetTimeType">
+
+ <wsdl:input message="impl:setGetTimeTypeRequest" name="setGetTimeTypeRequest"/>
+
+ <wsdl:output message="impl:setGetTimeTypeResponse" name="setGetTimeTypeResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetBase64BinaryType">
+
+ <wsdl:input message="impl:setGetBase64BinaryTypeRequest" name="setGetBase64BinaryTypeRequest"/>
+
+ <wsdl:output message="impl:setGetBase64BinaryTypeResponse" name="setGetBase64BinaryTypeResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetHexBinary">
+
+ <wsdl:input message="impl:setGetHexBinaryRequest" name="setGetHexBinaryRequest"/>
+
+ <wsdl:output message="impl:setGetHexBinaryResponse" name="setGetHexBinaryResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDecimalType">
+
+ <wsdl:input message="impl:setGetDecimalTypeRequest" name="setGetDecimalTypeRequest"/>
+
+ <wsdl:output message="impl:setGetDecimalTypeResponse" name="setGetDecimalTypeResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetIntegerType">
+
+ <wsdl:input message="impl:setGetIntegerTypeRequest" name="setGetIntegerTypeRequest"/>
+
+ <wsdl:output message="impl:setGetIntegerTypeResponse" name="setGetIntegerTypeResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setQNameType">
+
+ <wsdl:input message="impl:setQNameTypeRequest" name="setQNameTypeRequest"/>
+
+ <wsdl:output message="impl:setQNameTypeResponse" name="setQNameTypeResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="getQNameType">
+
+ <wsdl:input message="impl:getQNameTypeRequest" name="getQNameTypeRequest"/>
+
+ <wsdl:output message="impl:getQNameTypeResponse" name="getQNameTypeResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setAnyURIType">
+
+ <wsdl:input message="impl:setAnyURITypeRequest" name="setAnyURITypeRequest"/>
+
+ <wsdl:output message="impl:setAnyURITypeResponse" name="setAnyURITypeResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="getAnyURIType">
+
+ <wsdl:input message="impl:getAnyURITypeRequest" name="getAnyURITypeRequest"/>
+
+ <wsdl:output message="impl:getAnyURITypeResponse" name="getAnyURITypeResponse"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="XSDElementSoapBinding" type="impl:XSDElement">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="setGetDataInt">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataIntRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataIntResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataUnsignedInt">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataUnsignedIntRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataUnsignedIntResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataLong">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataLongRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataLongResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataUnsignedLong">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataUnsignedLongRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataUnsignedLongResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataDouble">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataDoubleRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataDoubleResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataFloat">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataFloatRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataFloatResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataByte">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataByteRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataByteResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataUnsignedByte">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataUnsignedByteRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataUnsignedByteResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataBoolean">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataBooleanRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataBooleanResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataString">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataStringRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataStringResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataShort">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataShortRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataShortResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataUnsignedShort">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataUnsignedShortRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataUnsignedShortResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDateTimeType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDateTimeTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDateTimeTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDateType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDateTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDateTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataDurationType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataDurationTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataDurationTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetTimeType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetTimeTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetTimeTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetBase64BinaryType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetBase64BinaryTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetBase64BinaryTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetHexBinary">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetHexBinaryRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetHexBinaryResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDecimalType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDecimalTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDecimalTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetIntegerType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetIntegerTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetIntegerTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="getQNameType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="getQNameTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="getQNameTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setQNameType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setQNameTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setQNameTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="getAnyURIType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="getAnyURITypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="getAnyURITypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setAnyURIType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setAnyURITypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setAnyURITypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="XSDElementService">
+
+ <wsdl:port binding="impl:XSDElementSoapBinding" name="XSDElementPort">
+
+ <wsdlsoap:address location="http://localhost:9080/XSDElement/services/XSDElementPort"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSDElementNil.wsdl b/test/resources/wsdl/XSDElementNil.wsdl
new file mode 100644
index 0000000..153530b
--- /dev/null
+++ b/test/resources/wsdl/XSDElementNil.wsdl
@@ -0,0 +1,1414 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://xsdelement.test.apache.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xsdelement.test.apache.org" xmlns:intf="http://xsdelement.test.apache.org" xmlns:tns2="http://complextypes.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://xsdelement.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xsdelement.test.apache.org" xmlns:intf="http://xsdelement.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <element name="setGetDataInt">
+ <complexType>
+ <sequence>
+ <element name="arg_0_2" nillable="true" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataIntResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataIntReturn" nillable="true" type="xsd:int"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataUnsignedInt">
+ <complexType>
+ <sequence>
+ <element name="arg_0_u2" nillable="true" type="xsd:unsignedInt"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataUnsignedIntResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataUnsignedIntReturn" nillable="true" type="xsd:unsignedInt"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataLong">
+ <complexType>
+ <sequence>
+ <element name="arg_0_5" nillable="true" type="xsd:long"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataLongResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataLongReturn" nillable="true" type="xsd:long"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataUnsignedLong">
+ <complexType>
+ <sequence>
+ <element name="arg_0_u5" nillable="true" type="xsd:unsignedLong"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataUnsignedLongResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataUnsignedLongReturn" nillable="true" type="xsd:unsignedLong"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataByte">
+ <complexType>
+ <sequence>
+ <element name="arg_0_14" nillable="true" type="xsd:byte"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataByteResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataByteReturn" nillable="true" type="xsd:byte"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataUnsignedByte">
+ <complexType>
+ <sequence>
+ <element name="arg_0_u14" nillable="true" type="xsd:unsignedByte"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataUnsignedByteResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataUnsignedByteReturn" nillable="true" type="xsd:unsignedByte"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataShort">
+ <complexType>
+ <sequence>
+ <element name="arg_0_26" nillable="true" type="xsd:short"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataShortResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataShortReturn" nillable="true" type="xsd:short"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataUnsignedShort">
+ <complexType>
+ <sequence>
+ <element name="arg_0_u26" nillable="true" type="xsd:unsignedShort"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataUnsignedShortResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataUnsignedShortReturn" nillable="true" type="xsd:unsignedShort"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataBoolean">
+ <complexType>
+ <sequence>
+ <element name="arg_0_17" nillable="true" type="xsd:boolean"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataBooleanResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataBooleanReturn" nillable="true" type="xsd:boolean"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataDouble">
+ <complexType>
+ <sequence>
+ <element name="arg_0_8" nillable="true" type="xsd:double"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataDoubleResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataDoubleReturn" nillable="true" type="xsd:double"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataFloat">
+ <complexType>
+ <sequence>
+ <element name="arg_0_11" nillable="true" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataFloatResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataFloatReturn" nillable="true" type="xsd:float"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataString">
+ <complexType>
+ <sequence>
+ <element name="arg_0_23" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataStringResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataStringReturn" nillable="true" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDateTimeType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_32" nillable="true" type="xsd:dateTime"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDateTimeTypeResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDateTimeTypeReturn" nillable="true" type="xsd:dateTime"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDateType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_35" nillable="true" type="xsd:date"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDateTypeResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDateTypeReturn" nillable="true" type="xsd:date"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDataDurationType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_d35" nillable="true" type="xsd:duration"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDataDurationTypeResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDataDurationTypeReturn" nillable="true" type="xsd:duration"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetTimeType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_38" nillable="true" type="xsd:time"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetTimeTypeResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetTimeTypeReturn" nillable="true" type="xsd:time"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetBase64BinaryType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_41" nillable="true" type="xsd:base64Binary"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetBase64BinaryTypeResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetBase64BinaryTypeReturn" nillable="true" type="xsd:base64Binary"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetHexBinary">
+ <complexType>
+ <sequence>
+ <element name="arg_0_44" nillable="true" type="xsd:hexBinary"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetHexBinaryResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetHexBinaryReturn" nillable="true" type="xsd:hexBinary"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetDecimalType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_47" nillable="true" type="xsd:decimal"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetDecimalTypeResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetDecimalTypeReturn" nillable="true" type="xsd:decimal"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="setGetIntegerType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_50" nillable="true" type="xsd:integer"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setGetIntegerTypeResponse">
+ <complexType>
+ <sequence>
+ <element name="setGetIntegerTypeReturn" nillable="true" type="xsd:integer"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="getQNameType">
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+ <element name="getQNameTypeResponse">
+ <complexType>
+ <sequence>
+ <element name="getQNameTypeReturn" nillable="true" type="xsd:QName"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setQNameType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_52" nillable="true" type="xsd:QName"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setQNameTypeResponse">
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+
+ <element name="getAnyURIType">
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+ <element name="getAnyURITypeResponse">
+ <complexType>
+ <sequence>
+ <element name="getAnyURITypeReturn" nillable="true" type="xsd:anyURI"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setAnyURIType">
+ <complexType>
+ <sequence>
+ <element name="arg_0_a52" nillable="true" type="xsd:anyURI"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="setAnyURITypeResponse">
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+
+ </schema>
+
+ </wsdl:types>
+
+
+
+ <wsdl:message name="setGetDataIntRequest">
+
+ <wsdl:part element="impl:setGetDataInt" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataUnsignedIntRequest">
+
+ <wsdl:part element="impl:setGetDataUnsignedInt" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="setGetDataIntResponse">
+
+ <wsdl:part element="impl:setGetDataIntResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="setGetDataUnsignedIntResponse">
+
+ <wsdl:part element="impl:setGetDataUnsignedIntResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+ <wsdl:message name="setGetDataByteRequest">
+
+ <wsdl:part element="impl:setGetDataByte" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataUnsignedByteRequest">
+
+ <wsdl:part element="impl:setGetDataUnsignedByte" name="parameters"/>
+
+ </wsdl:message>
+
+
+ <wsdl:message name="setGetDataByteResponse">
+
+ <wsdl:part element="impl:setGetDataByteResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="setGetDataUnsignedByteResponse">
+
+ <wsdl:part element="impl:setGetDataUnsignedByteResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="setGetDataLongRequest">
+
+ <wsdl:part element="impl:setGetDataLong" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataLongResponse">
+
+ <wsdl:part element="impl:setGetDataLongResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataUnsignedLongRequest">
+
+ <wsdl:part element="impl:setGetDataUnsignedLong" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataUnsignedLongResponse">
+
+ <wsdl:part element="impl:setGetDataUnsignedLongResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataShortRequest">
+
+ <wsdl:part element="impl:setGetDataShort" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataShortResponse">
+
+ <wsdl:part element="impl:setGetDataShortResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataUnsignedShortRequest">
+
+ <wsdl:part element="impl:setGetDataUnsignedShort" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataUnsignedShortResponse">
+
+ <wsdl:part element="impl:setGetDataUnsignedShortResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataBooleanRequest">
+
+ <wsdl:part element="impl:setGetDataBoolean" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataBooleanResponse">
+
+ <wsdl:part element="impl:setGetDataBooleanResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataFloatRequest">
+
+ <wsdl:part element="impl:setGetDataFloat" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataFloatResponse">
+
+ <wsdl:part element="impl:setGetDataFloatResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataDoubleRequest">
+
+ <wsdl:part element="impl:setGetDataDouble" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataDoubleResponse">
+
+ <wsdl:part element="impl:setGetDataDoubleResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDecimalTypeRequest">
+
+ <wsdl:part element="impl:setGetDecimalType" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDecimalTypeResponse">
+
+ <wsdl:part element="impl:setGetDecimalTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetHexBinaryRequest">
+
+ <wsdl:part element="impl:setGetHexBinary" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetHexBinaryResponse">
+
+ <wsdl:part element="impl:setGetHexBinaryResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetBase64BinaryTypeRequest">
+
+ <wsdl:part element="impl:setGetBase64BinaryType" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetBase64BinaryTypeResponse">
+
+ <wsdl:part element="impl:setGetBase64BinaryTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDateTimeTypeRequest">
+
+ <wsdl:part element="impl:setGetDateTimeType" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDateTimeTypeResponse">
+
+ <wsdl:part element="impl:setGetDateTimeTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetIntegerTypeRequest">
+
+ <wsdl:part element="impl:setGetIntegerType" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetIntegerTypeResponse">
+
+ <wsdl:part element="impl:setGetIntegerTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataStringRequest">
+
+ <wsdl:part element="impl:setGetDataString" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataStringResponse">
+
+ <wsdl:part element="impl:setGetDataStringResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="setAnyURITypeRequest">
+
+ <wsdl:part element="impl:setAnyURIType" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="getAnyURITypeRequest">
+
+ <wsdl:part element="impl:getAnyURIType" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="setAnyURITypeResponse">
+
+ <wsdl:part element="impl:setAnyURITypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="getAnyURITypeResponse">
+
+ <wsdl:part element="impl:getAnyURITypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="setQNameTypeRequest">
+
+ <wsdl:part element="impl:setQNameType" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="getQNameTypeRequest">
+
+ <wsdl:part element="impl:getQNameType" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="setQNameTypeResponse">
+
+ <wsdl:part element="impl:setQNameTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="getQNameTypeResponse">
+
+ <wsdl:part element="impl:getQNameTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDateTypeRequest">
+
+ <wsdl:part element="impl:setGetDateType" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDateTypeResponse">
+
+ <wsdl:part element="impl:setGetDateTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataDurationTypeRequest">
+
+ <wsdl:part element="impl:setGetDataDurationType" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetDataDurationTypeResponse">
+
+ <wsdl:part element="impl:setGetDataDurationTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetTimeTypeRequest">
+
+ <wsdl:part element="impl:setGetTimeType" name="parameters"/>
+
+ </wsdl:message>
+
+
+
+ <wsdl:message name="setGetTimeTypeResponse">
+
+ <wsdl:part element="impl:setGetTimeTypeResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:portType name="XSDElementNil">
+
+ <wsdl:operation name="setGetDataInt">
+
+ <wsdl:input message="impl:setGetDataIntRequest" name="setGetDataIntRequest"/>
+
+ <wsdl:output message="impl:setGetDataIntResponse" name="setGetDataIntResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataUnsignedInt">
+
+ <wsdl:input message="impl:setGetDataUnsignedIntRequest" name="setGetDataUnsignedIntRequest"/>
+
+ <wsdl:output message="impl:setGetDataUnsignedIntResponse" name="setGetDataUnsignedIntResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataLong">
+
+ <wsdl:input message="impl:setGetDataLongRequest" name="setGetDataLongRequest"/>
+
+ <wsdl:output message="impl:setGetDataLongResponse" name="setGetDataLongResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataUnsignedLong">
+
+ <wsdl:input message="impl:setGetDataUnsignedLongRequest" name="setGetDataUnsignedLongRequest"/>
+
+ <wsdl:output message="impl:setGetDataUnsignedLongResponse" name="setGetDataUnsignedLongResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataDouble">
+
+ <wsdl:input message="impl:setGetDataDoubleRequest" name="setGetDataDoubleRequest"/>
+
+ <wsdl:output message="impl:setGetDataDoubleResponse" name="setGetDataDoubleResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataFloat">
+
+ <wsdl:input message="impl:setGetDataFloatRequest" name="setGetDataFloatRequest"/>
+
+ <wsdl:output message="impl:setGetDataFloatResponse" name="setGetDataFloatResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataByte">
+
+ <wsdl:input message="impl:setGetDataByteRequest" name="setGetDataByteRequest"/>
+
+ <wsdl:output message="impl:setGetDataByteResponse" name="setGetDataByteResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataUnsignedByte">
+
+ <wsdl:input message="impl:setGetDataUnsignedByteRequest" name="setGetDataUnsignedByteRequest"/>
+
+ <wsdl:output message="impl:setGetDataUnsignedByteResponse" name="setGetDataUnsignedByteResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataBoolean">
+
+ <wsdl:input message="impl:setGetDataBooleanRequest" name="setGetDataBooleanRequest"/>
+
+ <wsdl:output message="impl:setGetDataBooleanResponse" name="setGetDataBooleanResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataString">
+
+ <wsdl:input message="impl:setGetDataStringRequest" name="setGetDataStringRequest"/>
+
+ <wsdl:output message="impl:setGetDataStringResponse" name="setGetDataStringResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataShort">
+
+ <wsdl:input message="impl:setGetDataShortRequest" name="setGetDataShortRequest"/>
+
+ <wsdl:output message="impl:setGetDataShortResponse" name="setGetDataShortResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataUnsignedShort">
+
+ <wsdl:input message="impl:setGetDataUnsignedShortRequest" name="setGetDataUnsignedShortRequest"/>
+
+ <wsdl:output message="impl:setGetDataUnsignedShortResponse" name="setGetDataUnsignedShortResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDateTimeType">
+
+ <wsdl:input message="impl:setGetDateTimeTypeRequest" name="setGetDateTimeTypeRequest"/>
+
+ <wsdl:output message="impl:setGetDateTimeTypeResponse" name="setGetDateTimeTypeResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDateType">
+
+ <wsdl:input message="impl:setGetDateTypeRequest" name="setGetDateTypeRequest"/>
+
+ <wsdl:output message="impl:setGetDateTypeResponse" name="setGetDateTypeResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDataDurationType">
+
+ <wsdl:input message="impl:setGetDataDurationTypeRequest" name="setGetDataDurationTypeRequest"/>
+
+ <wsdl:output message="impl:setGetDataDurationTypeResponse" name="setGetDataDurationTypeResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetTimeType">
+
+ <wsdl:input message="impl:setGetTimeTypeRequest" name="setGetTimeTypeRequest"/>
+
+ <wsdl:output message="impl:setGetTimeTypeResponse" name="setGetTimeTypeResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetBase64BinaryType">
+
+ <wsdl:input message="impl:setGetBase64BinaryTypeRequest" name="setGetBase64BinaryTypeRequest"/>
+
+ <wsdl:output message="impl:setGetBase64BinaryTypeResponse" name="setGetBase64BinaryTypeResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetHexBinary">
+
+ <wsdl:input message="impl:setGetHexBinaryRequest" name="setGetHexBinaryRequest"/>
+
+ <wsdl:output message="impl:setGetHexBinaryResponse" name="setGetHexBinaryResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetDecimalType">
+
+ <wsdl:input message="impl:setGetDecimalTypeRequest" name="setGetDecimalTypeRequest"/>
+
+ <wsdl:output message="impl:setGetDecimalTypeResponse" name="setGetDecimalTypeResponse"/>
+
+ </wsdl:operation>
+
+
+
+ <wsdl:operation name="setGetIntegerType">
+
+ <wsdl:input message="impl:setGetIntegerTypeRequest" name="setGetIntegerTypeRequest"/>
+
+ <wsdl:output message="impl:setGetIntegerTypeResponse" name="setGetIntegerTypeResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setQNameType">
+
+ <wsdl:input message="impl:setQNameTypeRequest" name="setQNameTypeRequest"/>
+
+ <wsdl:output message="impl:setQNameTypeResponse" name="setQNameTypeResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="getQNameType">
+
+ <wsdl:input message="impl:getQNameTypeRequest" name="getQNameTypeRequest"/>
+
+ <wsdl:output message="impl:getQNameTypeResponse" name="getQNameTypeResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setAnyURIType">
+
+ <wsdl:input message="impl:setAnyURITypeRequest" name="setAnyURITypeRequest"/>
+
+ <wsdl:output message="impl:setAnyURITypeResponse" name="setAnyURITypeResponse"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="getAnyURIType">
+
+ <wsdl:input message="impl:getAnyURITypeRequest" name="getAnyURITypeRequest"/>
+
+ <wsdl:output message="impl:getAnyURITypeResponse" name="getAnyURITypeResponse"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="XSDElementNilSoapBinding" type="impl:XSDElementNil">
+
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="setGetDataInt">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataIntRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataIntResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataUnsignedInt">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataUnsignedIntRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataUnsignedIntResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataLong">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataLongRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataLongResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataUnsignedLong">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataUnsignedLongRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataUnsignedLongResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataDouble">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataDoubleRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataDoubleResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataFloat">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataFloatRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataFloatResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataByte">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataByteRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataByteResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataUnsignedByte">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataUnsignedByteRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataUnsignedByteResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataBoolean">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataBooleanRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataBooleanResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataString">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataStringRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataStringResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataShort">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataShortRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataShortResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataUnsignedShort">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataUnsignedShortRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataUnsignedShortResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDateTimeType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDateTimeTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDateTimeTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDateType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDateTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDateTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDataDurationType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDataDurationTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDataDurationTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetTimeType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetTimeTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetTimeTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetBase64BinaryType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetBase64BinaryTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetBase64BinaryTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetHexBinary">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetHexBinaryRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetHexBinaryResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetDecimalType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetDecimalTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetDecimalTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setGetIntegerType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setGetIntegerTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setGetIntegerTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="getQNameType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="getQNameTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="getQNameTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setQNameType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setQNameTypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setQNameTypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="getAnyURIType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="getAnyURITypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="getAnyURITypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="setAnyURIType">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="setAnyURITypeRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="setAnyURITypeResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="XSDElementNilService">
+
+ <wsdl:port binding="impl:XSDElementNilSoapBinding" name="XSDElementNilPort">
+
+ <wsdlsoap:address location="http://localhost:9080/XSDElement/services/XSDElementNilPort"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
+
diff --git a/test/resources/wsdl/XSD_ENTITIES.wsdl b/test/resources/wsdl/XSD_ENTITIES.wsdl
new file mode 100644
index 0000000..56628fb
--- /dev/null
+++ b/test/resources/wsdl/XSD_ENTITIES.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_ENTITIES.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_ENTITIES"
+ targetNamespace="http://xsd_ENTITIES.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_ENTITIES.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:ENTITIES" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:ENTITIES" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:ENTITIES" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:ENTITIES" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:ENTITIES"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:ENTITIES"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:ENTITIES" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:ENTITIES" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:ENTITIES" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_ENTITIESPort">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_ENTITIESSOAP" type="tns:XSD_ENTITIESPort">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_ENTITIESPort#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_ENTITIESPort#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_ENTITIESPort#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_ENTITIESPort#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_ENTITIESPort#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_ENTITIESPort#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_ENTITIES">
+ <wsdl:port binding="tns:XSD_ENTITIESSOAP"
+ name="XSD_ENTITIESSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_ENTITIES/services/XSD_ENTITIESPort" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_ENTITY.wsdl b/test/resources/wsdl/XSD_ENTITY.wsdl
new file mode 100644
index 0000000..e18be29
--- /dev/null
+++ b/test/resources/wsdl/XSD_ENTITY.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_ENTITY.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_ENTITY"
+ targetNamespace="http://xsd_ENTITY.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_ENTITY.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:ENTITY" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:ENTITY" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:ENTITY" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:ENTITY" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:ENTITY"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:ENTITY"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:ENTITY" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:ENTITY" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:ENTITY" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_ENTITYPort">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_ENTITYSOAP" type="tns:XSD_ENTITYPort">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_ENTITYPort#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_ENTITYPort#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_ENTITYPort#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_ENTITYPort#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_ENTITYPort#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_ENTITYPort#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_ENTITY">
+ <wsdl:port binding="tns:XSD_ENTITYSOAP"
+ name="XSD_ENTITYSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_ENTITY/services/XSD_ENTITYPort" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_ID.wsdl b/test/resources/wsdl/XSD_ID.wsdl
new file mode 100644
index 0000000..06f931b
--- /dev/null
+++ b/test/resources/wsdl/XSD_ID.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_ID.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_ID"
+ targetNamespace="http://xsd_ID.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_ID.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:ID" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:ID" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:ID" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:ID" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:ID"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:ID"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:ID" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:ID" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:ID" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_IDPort">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_IDSOAP" type="tns:XSD_IDPort">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_IDPort#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_IDPort#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_IDPort#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_IDPort#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_IDPort#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_IDPort#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_ID">
+ <wsdl:port binding="tns:XSD_IDSOAP"
+ name="XSD_IDSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_ID/services/XSD_IDPort" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_IDREF.wsdl b/test/resources/wsdl/XSD_IDREF.wsdl
new file mode 100644
index 0000000..8306b44
--- /dev/null
+++ b/test/resources/wsdl/XSD_IDREF.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_IDREF.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_IDREF"
+ targetNamespace="http://xsd_IDREF.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_IDREF.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:IDREF" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:IDREF" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:IDREF" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:IDREF" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:IDREF"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:IDREF"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:IDREF" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:IDREF" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:IDREF" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_IDREFPort">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_IDREFSOAP" type="tns:XSD_IDREFPort">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_IDREFPort#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_IDREFPort#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_IDREFPort#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_IDREFPort#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_IDREFPort#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_IDREFPort#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_IDREF">
+ <wsdl:port binding="tns:XSD_IDREFSOAP"
+ name="XSD_IDREFSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_IDREF/services/XSD_IDREFPort" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_IDREFS.wsdl b/test/resources/wsdl/XSD_IDREFS.wsdl
new file mode 100644
index 0000000..cdec7fb
--- /dev/null
+++ b/test/resources/wsdl/XSD_IDREFS.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_IDREFS.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_IDREFS"
+ targetNamespace="http://xsd_IDREFS.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_IDREFS.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:IDREFS" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:IDREFS" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:IDREFS" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:IDREFS" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:IDREFS"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:IDREFS"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:IDREFS" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:IDREFS" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:IDREFS" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_IDREFSPort">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_IDREFSSOAP" type="tns:XSD_IDREFSPort">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_IDREFSPort#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_IDREFSPort#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_IDREFSPort#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_IDREFSPort#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_IDREFSPort#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_IDREFSPort#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_IDREFS">
+ <wsdl:port binding="tns:XSD_IDREFSSOAP"
+ name="XSD_IDREFSSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_IDREFS/services/XSD_IDREFSPort" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_NCName.wsdl b/test/resources/wsdl/XSD_NCName.wsdl
new file mode 100644
index 0000000..b65e656
--- /dev/null
+++ b/test/resources/wsdl/XSD_NCName.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_NCName.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_NCName"
+ targetNamespace="http://xsd_NCName.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_NCName.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:NCName" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:NCName" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:NCName" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:NCName" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:NCName"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:NCName"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:NCName" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:NCName" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:NCName" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_NCName">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_NCNameSOAP" type="tns:XSD_NCName">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_NCName#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_NCName#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_NCName#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_NCName#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_NCName#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_NCName#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_NCName">
+ <wsdl:port binding="tns:XSD_NCNameSOAP"
+ name="XSD_NCNameSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_NCName/services/XSD_NCName" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_NMTOKEN.wsdl b/test/resources/wsdl/XSD_NMTOKEN.wsdl
new file mode 100644
index 0000000..184d47c
--- /dev/null
+++ b/test/resources/wsdl/XSD_NMTOKEN.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_NMTOKEN.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_NMTOKEN"
+ targetNamespace="http://xsd_NMTOKEN.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_NMTOKEN.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:NMTOKEN" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:NMTOKEN" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:NMTOKEN" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:NMTOKEN" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:NMTOKEN"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:NMTOKEN"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:NMTOKEN" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:NMTOKEN" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:NMTOKEN" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_NMTOKENPort">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_NMTOKENSOAP" type="tns:XSD_NMTOKENPort">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_NMTOKENPort#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_NMTOKENPort#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_NMTOKENPort#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_NMTOKENPort#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_NMTOKENPort#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_NMTOKENPort#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_NMTOKEN">
+ <wsdl:port binding="tns:XSD_NMTOKENSOAP"
+ name="XSD_NMTOKENSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_NMTOKEN/services/XSD_NMTOKENPort" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_NMTOKENS.wsdl b/test/resources/wsdl/XSD_NMTOKENS.wsdl
new file mode 100644
index 0000000..6100b1a
--- /dev/null
+++ b/test/resources/wsdl/XSD_NMTOKENS.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_NMTOKENS.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_NMTOKENS"
+ targetNamespace="http://xsd_NMTOKENS.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_NMTOKENS.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:NMTOKENS" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:NMTOKENS" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:NMTOKENS" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:NMTOKENS" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:NMTOKENS"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:NMTOKENS"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:NMTOKENS" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:NMTOKENS" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:NMTOKENS" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_NMTOKENSPort">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_NMTOKENSSOAP" type="tns:XSD_NMTOKENSPort">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_NMTOKENSPort#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_NMTOKENSPort#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_NMTOKENSPort#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_NMTOKENSPort#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_NMTOKENSPort#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_NMTOKENSPort#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_NMTOKENS">
+ <wsdl:port binding="tns:XSD_NMTOKENSSOAP"
+ name="XSD_NMTOKENSSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_NMTOKENS/services/XSD_NMTOKENSPort" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_NOTATION.wsdl b/test/resources/wsdl/XSD_NOTATION.wsdl
new file mode 100644
index 0000000..30c0fb4
--- /dev/null
+++ b/test/resources/wsdl/XSD_NOTATION.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_NOTATION.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://xsd_NOTATION.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_NOTATION.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:notation" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:notation" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:notation" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:notation" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:notation"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:notation"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:notation" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:notation" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:notation" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_NOTATIONPort">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_NOTATIONSOAP" type="tns:XSD_NOTATIONPort">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_NOTATIONPort#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_NOTATIONPort#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_NOTATIONPort#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_NOTATIONPort#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_NOTATIONPort#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_NOTATIONPort#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_NOTATION">
+ <wsdl:port binding="tns:XSD_NOTATIONSOAP"
+ name="XSD_NOTATIONSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_NOTATION/services/XSD_NOTATIONPort" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_Name.wsdl b/test/resources/wsdl/XSD_Name.wsdl
new file mode 100644
index 0000000..5198b1c
--- /dev/null
+++ b/test/resources/wsdl/XSD_Name.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_Name.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_Name"
+ targetNamespace="http://xsd_Name.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_Name.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:Name" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:Name" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:Name" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:Name" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:Name"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:Name"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:Name" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:Name" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:Name" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_Name">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_NameSOAP" type="tns:XSD_Name">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_Name#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_Name#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_Name#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_Name#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_Name#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_Name#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_Name">
+ <wsdl:port binding="tns:XSD_NameSOAP"
+ name="XSD_NameSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_Name/services/XSD_Name" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_QName.wsdl b/test/resources/wsdl/XSD_QName.wsdl
new file mode 100644
index 0000000..7fca9ff
--- /dev/null
+++ b/test/resources/wsdl/XSD_QName.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_QName.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_QName"
+ targetNamespace="http://xsd_QName.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_QName.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:QName" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:QName" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:QName" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:QName" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:QName"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:QName"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:QName" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:QName" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:QName" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_QName">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_QNameSOAP" type="tns:XSD_QName">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_QName#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_QName#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_QName#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_QName#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_QName#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_QName#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_QName">
+ <wsdl:port binding="tns:XSD_QNameSOAP"
+ name="XSD_QNameSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_QName/services/XSD_QName" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_anyURI.wsdl b/test/resources/wsdl/XSD_anyURI.wsdl
new file mode 100644
index 0000000..73410d8
--- /dev/null
+++ b/test/resources/wsdl/XSD_anyURI.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_anyURI.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_anyURI"
+ targetNamespace="http://xsd_anyURI.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_anyURI.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:anyURI" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:anyURI" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:anyURI" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:anyURI" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:anyURI"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:anyURI"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:anyURI" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:anyURI" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:anyURI" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_anyURI">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_anyURISOAP" type="tns:XSD_anyURI">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_anyURI#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_anyURI#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_anyURI#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_anyURI#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_anyURI#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_anyURI#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_anyURI">
+ <wsdl:port binding="tns:XSD_anyURISOAP"
+ name="XSD_anyURISOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_anyURI/services/XSD_anyURI" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_base64Binary.wsdl b/test/resources/wsdl/XSD_base64Binary.wsdl
new file mode 100644
index 0000000..e7b1ae8
--- /dev/null
+++ b/test/resources/wsdl/XSD_base64Binary.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_base64Binary.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_base64Binary"
+ targetNamespace="http://xsd_base64Binary.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_base64Binary.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:base64Binary" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:base64Binary" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:base64Binary" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:base64Binary" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:base64Binary"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:base64Binary"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:base64Binary" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:base64Binary" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:base64Binary" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_base64Binary">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_base64BinarySOAP" type="tns:XSD_base64Binary">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_base64Binary#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_base64Binary#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_base64Binary#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_base64Binary#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_base64Binary#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_base64Binary#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_base64Binary">
+ <wsdl:port binding="tns:XSD_base64BinarySOAP"
+ name="XSD_base64BinarySOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_base64Binary/services/XSD_base64Binary" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_boolean.wsdl b/test/resources/wsdl/XSD_boolean.wsdl
new file mode 100644
index 0000000..906ba02
--- /dev/null
+++ b/test/resources/wsdl/XSD_boolean.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_boolean.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_boolean"
+ targetNamespace="http://xsd_boolean.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_boolean.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:boolean" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:boolean" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:boolean" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:boolean" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:boolean"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:boolean"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:boolean" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:boolean" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:boolean" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_boolean">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_booleanSOAP" type="tns:XSD_boolean">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_boolean#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_boolean#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_boolean#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_boolean#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_boolean#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_boolean#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_boolean">
+ <wsdl:port binding="tns:XSD_booleanSOAP"
+ name="XSD_booleanSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_boolean/services/XSD_boolean" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_byte.wsdl b/test/resources/wsdl/XSD_byte.wsdl
new file mode 100644
index 0000000..52aa1d3
--- /dev/null
+++ b/test/resources/wsdl/XSD_byte.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_byte.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_byte"
+ targetNamespace="http://xsd_byte.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_byte.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:byte" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:byte" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:byte" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:byte" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:byte"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:byte"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:byte" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:byte" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:byte" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_byte">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_byteSOAP" type="tns:XSD_byte">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_byte#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_byte#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_byte#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_byte#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_byte#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_byte#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_byte">
+ <wsdl:port binding="tns:XSD_byteSOAP"
+ name="XSD_byteSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_byte/services/XSD_byte" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_date.wsdl b/test/resources/wsdl/XSD_date.wsdl
new file mode 100644
index 0000000..013a3f9
--- /dev/null
+++ b/test/resources/wsdl/XSD_date.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_date.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_date"
+ targetNamespace="http://xsd_date.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_date.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:date" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:date" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:date" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:date" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:date"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:date"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:date" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:date" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:date" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_date">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_dateSOAP" type="tns:XSD_date">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_date#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_date#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_date#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_date#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_date#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_date#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_date">
+ <wsdl:port binding="tns:XSD_dateSOAP"
+ name="XSD_dateSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_date/services/XSD_date" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_dateTime.wsdl b/test/resources/wsdl/XSD_dateTime.wsdl
new file mode 100644
index 0000000..5031ca6
--- /dev/null
+++ b/test/resources/wsdl/XSD_dateTime.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_dateTime.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_dateTime"
+ targetNamespace="http://xsd_dateTime.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_dateTime.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:dateTime" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:dateTime" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:dateTime" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:dateTime" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:dateTime"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:dateTime"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:dateTime" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:dateTime" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:dateTime" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_dateTime">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_dateTimeSOAP" type="tns:XSD_dateTime">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_dateTime#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_dateTime#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_dateTime#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_dateTime#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_dateTime#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_dateTime#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_dateTime">
+ <wsdl:port binding="tns:XSD_dateTimeSOAP"
+ name="XSD_dateTimeSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_dateTime/services/XSD_dateTime" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_decimal.wsdl b/test/resources/wsdl/XSD_decimal.wsdl
new file mode 100644
index 0000000..587107a
--- /dev/null
+++ b/test/resources/wsdl/XSD_decimal.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_decimal.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_decimal"
+ targetNamespace="http://xsd_decimal.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_decimal.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:decimal" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:decimal" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:decimal" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:decimal" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:decimal"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:decimal"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:decimal" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:decimal" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:decimal" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_decimal">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_decimalSOAP" type="tns:XSD_decimal">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_decimal#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_decimal#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_decimal#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_decimal#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_decimal#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_decimal#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_decimal">
+ <wsdl:port binding="tns:XSD_decimalSOAP"
+ name="XSD_decimalSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_decimal/services/XSD_decimal" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_double.wsdl b/test/resources/wsdl/XSD_double.wsdl
new file mode 100644
index 0000000..51eb810
--- /dev/null
+++ b/test/resources/wsdl/XSD_double.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_double.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_double"
+ targetNamespace="http://xsd_double.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_double.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:double" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:double" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:double" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:double" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:double"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:double"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:double" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:double" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:double" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_double">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_doubleSOAP" type="tns:XSD_double">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_double#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_double#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_double#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_double#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_double#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_double#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_double">
+ <wsdl:port binding="tns:XSD_doubleSOAP"
+ name="XSD_doubleSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_double/services/XSD_double" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_duration.wsdl b/test/resources/wsdl/XSD_duration.wsdl
new file mode 100644
index 0000000..31a8b18
--- /dev/null
+++ b/test/resources/wsdl/XSD_duration.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_duration.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_duration"
+ targetNamespace="http://xsd_duration.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_duration.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:duration" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:duration" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:duration" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:duration" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:duration"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:duration"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:duration" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:duration" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:duration" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_duration">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_durationSOAP" type="tns:XSD_duration">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_duration#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_duration#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_duration#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_duration#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_duration#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_duration#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_duration">
+ <wsdl:port binding="tns:XSD_durationSOAP"
+ name="XSD_durationSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_duration/services/XSD_duration" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_float.wsdl b/test/resources/wsdl/XSD_float.wsdl
new file mode 100644
index 0000000..dcc7464
--- /dev/null
+++ b/test/resources/wsdl/XSD_float.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_float.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_float"
+ targetNamespace="http://xsd_float.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_float.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:float" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:float" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:float" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:float" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:float"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:float"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:float" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:float" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:float" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_float">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_floatSOAP" type="tns:XSD_float">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_float#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_float#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_float#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_float#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_float#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_float#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_float">
+ <wsdl:port binding="tns:XSD_floatSOAP"
+ name="XSD_floatSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_float/services/XSD_float" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_gDay.wsdl b/test/resources/wsdl/XSD_gDay.wsdl
new file mode 100644
index 0000000..2508f5d
--- /dev/null
+++ b/test/resources/wsdl/XSD_gDay.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_gDay.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_gDay"
+ targetNamespace="http://xsd_gDay.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_gDay.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:gDay" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:gDay" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:gDay" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:gDay" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:gDay"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:gDay"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:gDay" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:gDay" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:gDay" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_gDay">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_gDaySOAP" type="tns:XSD_gDay">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_gDay#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_gDay#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_gDay#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_gDay#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_gDay#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_gDay#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_gDay">
+ <wsdl:port binding="tns:XSD_gDaySOAP"
+ name="XSD_gDaySOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_gDay/services/XSD_gDay" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_gMonth.wsdl b/test/resources/wsdl/XSD_gMonth.wsdl
new file mode 100644
index 0000000..1d05d42
--- /dev/null
+++ b/test/resources/wsdl/XSD_gMonth.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_gMonth.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_gMonth"
+ targetNamespace="http://xsd_gMonth.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_gMonth.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:gMonth" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:gMonth" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:gMonth" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:gMonth" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:gMonth"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:gMonth"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:gMonth" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:gMonth" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:gMonth" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_gMonth">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_gMonthSOAP" type="tns:XSD_gMonth">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_gMonth#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_gMonth#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_gMonth#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_gMonth#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_gMonth#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_gMonth#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_gMonth">
+ <wsdl:port binding="tns:XSD_gMonthSOAP"
+ name="XSD_gMonthSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_gMonth/services/XSD_gMonth" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_gMonthDay.wsdl b/test/resources/wsdl/XSD_gMonthDay.wsdl
new file mode 100644
index 0000000..6d06f45
--- /dev/null
+++ b/test/resources/wsdl/XSD_gMonthDay.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_gMonthDay.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_gMonthDay"
+ targetNamespace="http://xsd_gMonthDay.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_gMonthDay.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:gMonthDay" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:gMonthDay" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:gMonthDay" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:gMonthDay" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:gMonthDay"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:gMonthDay"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:gMonthDay" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:gMonthDay" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:gMonthDay" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_gMonthDay">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_gMonthDaySOAP" type="tns:XSD_gMonthDay">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_gMonthDay#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_gMonthDay#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_gMonthDay#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_gMonthDay#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_gMonthDay#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_gMonthDay#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_gMonthDay">
+ <wsdl:port binding="tns:XSD_gMonthDaySOAP"
+ name="XSD_gMonthDaySOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_gMonthDay/services/XSD_gMonthDay" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_gYear.wsdl b/test/resources/wsdl/XSD_gYear.wsdl
new file mode 100644
index 0000000..0135260
--- /dev/null
+++ b/test/resources/wsdl/XSD_gYear.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_gYear.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_gYear"
+ targetNamespace="http://xsd_gYear.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_gYear.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:gYear" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:gYear" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:gYear" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:gYear" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:gYear"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:gYear"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:gYear" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:gYear" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:gYear" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_gYear">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_gYearSOAP" type="tns:XSD_gYear">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_gYear#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_gYear#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_gYear#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_gYear#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_gYear#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_gYear#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_gYear">
+ <wsdl:port binding="tns:XSD_gYearSOAP"
+ name="XSD_gYearSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_gYear/services/XSD_gYear" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_gYearMonth.wsdl b/test/resources/wsdl/XSD_gYearMonth.wsdl
new file mode 100644
index 0000000..d0bd3f1
--- /dev/null
+++ b/test/resources/wsdl/XSD_gYearMonth.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_gYearMonth.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_gYearMonth"
+ targetNamespace="http://xsd_gYearMonth.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_gYearMonth.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:gYearMonth" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:gYearMonth" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:gYearMonth" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:gYearMonth" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:gYearMonth"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:gYearMonth"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:gYearMonth" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:gYearMonth" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:gYearMonth" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_gYearMonth">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_gYearMonthSOAP" type="tns:XSD_gYearMonth">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_gYearMonth#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_gYearMonth#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_gYearMonth#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_gYearMonth#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_gYearMonth#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_gYearMonth#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_gYearMonth">
+ <wsdl:port binding="tns:XSD_gYearMonthSOAP"
+ name="XSD_gYearMonthSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_gYearMonth/services/XSD_gYearMonth" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_hexBinary.wsdl b/test/resources/wsdl/XSD_hexBinary.wsdl
new file mode 100644
index 0000000..1ace268
--- /dev/null
+++ b/test/resources/wsdl/XSD_hexBinary.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_hexBinary.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_hexBinary"
+ targetNamespace="http://xsd_hexBinary.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_hexBinary.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:hexBinary" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:hexBinary" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:hexBinary" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:hexBinary" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:hexBinary"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:hexBinary"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:hexBinary" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:hexBinary" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:hexBinary" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_hexBinary">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_hexBinarySOAP" type="tns:XSD_hexBinary">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_hexBinary#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_hexBinary#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_hexBinary#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_hexBinary#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_hexBinary#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_hexBinary#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_hexBinary">
+ <wsdl:port binding="tns:XSD_hexBinarySOAP"
+ name="XSD_hexBinarySOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_hexBinary/services/XSD_hexBinary" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_int.wsdl b/test/resources/wsdl/XSD_int.wsdl
new file mode 100644
index 0000000..897ba94
--- /dev/null
+++ b/test/resources/wsdl/XSD_int.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_int.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_int"
+ targetNamespace="http://xsd_int.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_int.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:int" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:int" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:int" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:int" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:int"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:int"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:int" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:int" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:int" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_int">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_intSOAP" type="tns:XSD_int">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_int#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_int#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_int#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_int#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_int#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_int#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_int">
+ <wsdl:port binding="tns:XSD_intSOAP"
+ name="XSD_intSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_int/services/XSD_int" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_integer.wsdl b/test/resources/wsdl/XSD_integer.wsdl
new file mode 100644
index 0000000..162cc94
--- /dev/null
+++ b/test/resources/wsdl/XSD_integer.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_integer.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_integer"
+ targetNamespace="http://xsd_integer.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_integer.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:integer" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:integer" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:integer" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:integer" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:integer"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:integer"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:integer" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:integer" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:integer" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_integer">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_integerSOAP" type="tns:XSD_integer">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_integer#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_integer#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_integer#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_integer#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_integer#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_integer#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_integer">
+ <wsdl:port binding="tns:XSD_integerSOAP"
+ name="XSD_integerSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_integer/services/XSD_integer" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_language.wsdl b/test/resources/wsdl/XSD_language.wsdl
new file mode 100644
index 0000000..e69a08a
--- /dev/null
+++ b/test/resources/wsdl/XSD_language.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_language.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_language"
+ targetNamespace="http://xsd_language.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_language.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:language" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:language" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:language" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:language" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:language"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:language"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:language" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:language" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:language" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_language">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_languageSOAP" type="tns:XSD_language">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_language#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_language#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_language#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_language#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_language#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_language#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_language">
+ <wsdl:port binding="tns:XSD_languageSOAP"
+ name="XSD_languageSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_language/services/XSD_language" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_long.wsdl b/test/resources/wsdl/XSD_long.wsdl
new file mode 100644
index 0000000..8d9b562
--- /dev/null
+++ b/test/resources/wsdl/XSD_long.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_long.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_long"
+ targetNamespace="http://xsd_long.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_long.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:long" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:long" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:long" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:long" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:long"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:long"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:long" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:long" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:long" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_long">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_longSOAP" type="tns:XSD_long">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_long#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_long#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_long#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_long#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_long#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_long#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_long">
+ <wsdl:port binding="tns:XSD_longSOAP"
+ name="XSD_longSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_long/services/XSD_long" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_negativeInteger.wsdl b/test/resources/wsdl/XSD_negativeInteger.wsdl
new file mode 100644
index 0000000..70abcda
--- /dev/null
+++ b/test/resources/wsdl/XSD_negativeInteger.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_negativeInteger.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_negativeInteger"
+ targetNamespace="http://xsd_negativeInteger.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_negativeInteger.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:negativeInteger" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:negativeInteger" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:negativeInteger" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:negativeInteger" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:negativeInteger"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:negativeInteger"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:negativeInteger" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:negativeInteger" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:negativeInteger" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_negativeInteger">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_negativeIntegerSOAP" type="tns:XSD_negativeInteger">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_negativeInteger#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_negativeInteger#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_negativeInteger#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_negativeInteger#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_negativeInteger#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_negativeInteger#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_negativeInteger">
+ <wsdl:port binding="tns:XSD_negativeIntegerSOAP"
+ name="XSD_negativeIntegerSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_negativeInteger/services/XSD_negativeInteger" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_nonNegativeInteger.wsdl b/test/resources/wsdl/XSD_nonNegativeInteger.wsdl
new file mode 100644
index 0000000..b3baf36
--- /dev/null
+++ b/test/resources/wsdl/XSD_nonNegativeInteger.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_nonNegativeInteger.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_nonNegativeInteger"
+ targetNamespace="http://xsd_nonNegativeInteger.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_nonNegativeInteger.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:nonNegativeInteger" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:nonNegativeInteger" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:nonNegativeInteger" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:nonNegativeInteger" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:nonNegativeInteger"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:nonNegativeInteger"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:nonNegativeInteger" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:nonNegativeInteger" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_nonNegativeInteger">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_nonNegativeIntegerSOAP" type="tns:XSD_nonNegativeInteger">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_nonNegativeInteger#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_nonNegativeInteger#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_nonNegativeInteger#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_nonNegativeInteger#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_nonNegativeInteger#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_nonNegativeInteger#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_nonNegativeInteger">
+ <wsdl:port binding="tns:XSD_nonNegativeIntegerSOAP"
+ name="XSD_nonNegativeIntegerSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_nonNegativeInteger/services/XSD_nonNegativeInteger" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_nonPositiveInteger.wsdl b/test/resources/wsdl/XSD_nonPositiveInteger.wsdl
new file mode 100644
index 0000000..ab95c37
--- /dev/null
+++ b/test/resources/wsdl/XSD_nonPositiveInteger.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_nonPositiveInteger.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_nonPositiveInteger"
+ targetNamespace="http://xsd_nonPositiveInteger.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_nonPositiveInteger.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:nonPositiveInteger" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:nonPositiveInteger" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:nonPositiveInteger" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:nonPositiveInteger" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:nonPositiveInteger"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:nonPositiveInteger"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:nonPositiveInteger" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:nonPositiveInteger" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:nonPositiveInteger" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_nonPositiveInteger">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_nonPositiveIntegerSOAP" type="tns:XSD_nonPositiveInteger">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_nonPositiveInteger#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_nonPositiveInteger#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_nonPositiveInteger#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_nonPositiveInteger#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_nonPositiveInteger#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_nonPositiveInteger#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_nonPositiveInteger">
+ <wsdl:port binding="tns:XSD_nonPositiveIntegerSOAP"
+ name="XSD_nonPositiveIntegerSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_nonPositiveInteger/services/XSD_nonPositiveInteger" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_normalizedString.wsdl b/test/resources/wsdl/XSD_normalizedString.wsdl
new file mode 100644
index 0000000..4e44c2e
--- /dev/null
+++ b/test/resources/wsdl/XSD_normalizedString.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_normalizedString.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_normalizedString"
+ targetNamespace="http://xsd_normalizedString.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_normalizedString.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:normalizedString" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:normalizedString" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:normalizedString" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:normalizedString" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:normalizedString"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:normalizedString"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:normalizedString" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:normalizedString" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:normalizedString" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_normalizedString">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_normalizedStringSOAP" type="tns:XSD_normalizedString">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_normalizedString#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_normalizedString#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_normalizedString#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_normalizedString#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_normalizedString#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_normalizedString#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_normalizedString">
+ <wsdl:port binding="tns:XSD_normalizedStringSOAP"
+ name="XSD_normalizedStringSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_normalizedString/services/XSD_normalizedString" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_positiveInteger.wsdl b/test/resources/wsdl/XSD_positiveInteger.wsdl
new file mode 100644
index 0000000..ce5c1bb
--- /dev/null
+++ b/test/resources/wsdl/XSD_positiveInteger.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_positiveInteger.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_positiveInteger"
+ targetNamespace="http://xsd_positiveInteger.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_positiveInteger.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:positiveInteger" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:positiveInteger" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:positiveInteger" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:positiveInteger" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:positiveInteger"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:positiveInteger"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:positiveInteger" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:positiveInteger" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:positiveInteger" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_positiveInteger">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_positiveIntegerSOAP" type="tns:XSD_positiveInteger">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_positiveInteger#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_positiveInteger#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_positiveInteger#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_positiveInteger#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_positiveInteger#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_positiveInteger#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_positiveInteger">
+ <wsdl:port binding="tns:XSD_positiveIntegerSOAP"
+ name="XSD_positiveIntegerSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_positiveInteger/services/XSD_positiveInteger" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_short.wsdl b/test/resources/wsdl/XSD_short.wsdl
new file mode 100644
index 0000000..f707d77
--- /dev/null
+++ b/test/resources/wsdl/XSD_short.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_short.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_short"
+ targetNamespace="http://xsd_short.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_short.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:short" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:short" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:short" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:short" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:short"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:short"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:short" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:short" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:short" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_short">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_shortSOAP" type="tns:XSD_short">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_short#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_short#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_short#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_short#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_short#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_short#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_short">
+ <wsdl:port binding="tns:XSD_shortSOAP"
+ name="XSD_shortSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_short/services/XSD_short" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_string.wsdl b/test/resources/wsdl/XSD_string.wsdl
new file mode 100644
index 0000000..f325e17
--- /dev/null
+++ b/test/resources/wsdl/XSD_string.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_string.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_string"
+ targetNamespace="http://xsd_string.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_string.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:string" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:string" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:string" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:string" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:string"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:string"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:string" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:string" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:string" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_string">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_stringSOAP" type="tns:XSD_string">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_string#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_string#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_string#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_string#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_string#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_string#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_string">
+ <wsdl:port binding="tns:XSD_stringSOAP"
+ name="XSD_stringSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_string/services/XSD_string" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_time.wsdl b/test/resources/wsdl/XSD_time.wsdl
new file mode 100644
index 0000000..fc47d5a
--- /dev/null
+++ b/test/resources/wsdl/XSD_time.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_time.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_time"
+ targetNamespace="http://xsd_time.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_time.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:time" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:time" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:time" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:time" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:time"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:time"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:time" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:time" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:time" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_time">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_timeSOAP" type="tns:XSD_time">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_time#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_time#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_time#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_time#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_time#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_time#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_time">
+ <wsdl:port binding="tns:XSD_timeSOAP"
+ name="XSD_timeSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_time/services/XSD_time" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_token.wsdl b/test/resources/wsdl/XSD_token.wsdl
new file mode 100644
index 0000000..6ff5990
--- /dev/null
+++ b/test/resources/wsdl/XSD_token.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_token.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_token"
+ targetNamespace="http://xsd_token.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_token.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:token" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:token" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:token" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:token" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:token"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:token"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:token" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:token" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:token" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_token">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_tokenSOAP" type="tns:XSD_token">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_token#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_token#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_token#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_token#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_token#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_token#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_token">
+ <wsdl:port binding="tns:XSD_tokenSOAP"
+ name="XSD_tokenSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_token/services/XSD_token" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_unsignedByte.wsdl b/test/resources/wsdl/XSD_unsignedByte.wsdl
new file mode 100644
index 0000000..4b13551
--- /dev/null
+++ b/test/resources/wsdl/XSD_unsignedByte.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_unsignedByte.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_unsignedByte"
+ targetNamespace="http://xsd_unsignedByte.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_unsignedByte.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:unsignedByte" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:unsignedByte" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:unsignedByte" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:unsignedByte" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:unsignedByte"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:unsignedByte"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:unsignedByte" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:unsignedByte" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:unsignedByte" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_unsignedByte">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_unsignedByteSOAP" type="tns:XSD_unsignedByte">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_unsignedByte#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_unsignedByte#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_unsignedByte#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_unsignedByte#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_unsignedByte#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_unsignedByte#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_unsignedByte">
+ <wsdl:port binding="tns:XSD_unsignedByteSOAP"
+ name="XSD_unsignedByteSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_unsignedByte/services/XSD_unsignedByte" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_unsignedInt.wsdl b/test/resources/wsdl/XSD_unsignedInt.wsdl
new file mode 100644
index 0000000..2c60e37
--- /dev/null
+++ b/test/resources/wsdl/XSD_unsignedInt.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_unsignedInt.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_unsignedInt"
+ targetNamespace="http://xsd_unsignedInt.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_unsignedInt.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:unsignedInt" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:unsignedInt" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:unsignedInt" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:unsignedInt" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:unsignedInt"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:unsignedInt"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:unsignedInt" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:unsignedInt" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:unsignedInt" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_unsignedInt">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_unsignedIntSOAP" type="tns:XSD_unsignedInt">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_unsignedInt#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_unsignedInt#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_unsignedInt#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_unsignedInt#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_unsignedInt#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_unsignedInt#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_unsignedInt">
+ <wsdl:port binding="tns:XSD_unsignedIntSOAP"
+ name="XSD_unsignedIntSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_unsignedInt/services/XSD_unsignedInt" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_unsignedLong.wsdl b/test/resources/wsdl/XSD_unsignedLong.wsdl
new file mode 100644
index 0000000..04de8dd
--- /dev/null
+++ b/test/resources/wsdl/XSD_unsignedLong.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_unsignedLong.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_unsignedLong"
+ targetNamespace="http://xsd_unsignedLong.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_unsignedLong.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:unsignedLong" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:unsignedLong" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:unsignedLong" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:unsignedLong" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:unsignedLong"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:unsignedLong"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:unsignedLong" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:unsignedLong" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:unsignedLong" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_unsignedLong">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_unsignedLongSOAP" type="tns:XSD_unsignedLong">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_unsignedLong#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_unsignedLong#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_unsignedLong#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_unsignedLong#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_unsignedLong#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_unsignedLong#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_unsignedLong">
+ <wsdl:port binding="tns:XSD_unsignedLongSOAP"
+ name="XSD_unsignedLongSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_unsignedLong/services/XSD_unsignedLong" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/XSD_unsignedShort.wsdl b/test/resources/wsdl/XSD_unsignedShort.wsdl
new file mode 100644
index 0000000..9338c34
--- /dev/null
+++ b/test/resources/wsdl/XSD_unsignedShort.wsdl
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://xsd_unsignedShort.test.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XSD_unsignedShort"
+ targetNamespace="http://xsd_unsignedShort.test.apache.org">
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://xsd_unsignedShort.test.apache.org"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="asNonNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:unsignedShort" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="AsNonNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nonNillableElement"
+ type="xsd:unsignedShort" nillable="false" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:unsignedShort" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asNillableElementRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="nillableElement"
+ type="xsd:unsignedShort" nillable="true" minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="RequiredAttributeElement">
+ <xsd:attribute name="requiredAttribute" type="xsd:unsignedShort"
+ use="required" />
+ </xsd:complexType>
+ <xsd:element name="asRequiredAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asRequiredAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="RequiredAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:RequiredAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="OptionalAttributeElement">
+ <xsd:attribute name="optionalAttribute" type="xsd:unsignedShort"
+ use="optional" />
+ </xsd:complexType>
+ <xsd:element name="asOptionalAttributeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asOptionalAttributeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="OptionalAttributeElement"
+ maxOccurs="1" minOccurs="1" type="tns:OptionalAttributeElement" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:unsignedShort" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asArrayRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="arrayElement"
+ type="xsd:unsignedShort" nillable="false" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="SimpleComplexType">
+ <xsd:sequence>
+ <xsd:element name="complexTypeElement"
+ type="xsd:unsignedShort" minOccurs="1" maxOccurs="1" nillable="false" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="asComplexTypeResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="asComplexTypeRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="SimpleComplexType"
+ type="tns:SimpleComplexType" nillable="false" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="asNonNillableElementResponse">
+ <wsdl:part element="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:message>
+ <wsdl:message name="asNonNillableElementRequest">
+ <wsdl:part element="tns:AsNonNillableElementRequest"
+ name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="asNillableElementResponse">
+ <wsdl:part name="asNillableElementResponse"
+ element="tns:asNillableElementResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asNillableElementRequest">
+ <wsdl:part name="asNillableElementRequest"
+ element="tns:asNillableElementRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeResponse">
+ <wsdl:part name="asRequiredAttributeResponse"
+ element="tns:asRequiredAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asRequiredAttributeRequest">
+ <wsdl:part name="asRequiredAttributeRequest"
+ element="tns:asRequiredAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeResponse">
+ <wsdl:part name="asOptionalAttributeResponse"
+ element="tns:asOptionalAttributeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asOptionalAttributeRequest">
+ <wsdl:part name="asOptionalAttributeRequest"
+ element="tns:asOptionalAttributeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayResponse">
+ <wsdl:part name="asArrayResponse"
+ element="tns:asArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asArrayRequest">
+ <wsdl:part name="asArrayRequest" element="tns:asArrayRequest"></wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeResponse">
+ <wsdl:part name="asComplexTypeResponse"
+ element="tns:asComplexTypeResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="asComplexTypeRequest">
+ <wsdl:part name="asComplexTypeRequest"
+ element="tns:asComplexTypeRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="XSD_unsignedShort">
+ <wsdl:operation name="asNonNillableElement">
+ <wsdl:input message="tns:asNonNillableElementRequest"
+ name="asNonNillableElementRequest" />
+ <wsdl:output message="tns:asNonNillableElementResponse"
+ name="asNonNillableElementResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <wsdl:input message="tns:asNillableElementRequest"
+ name="asNillableElementRequest">
+ </wsdl:input>
+ <wsdl:output message="tns:asNillableElementResponse"
+ name="asNillableElementResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <wsdl:input message="tns:asRequiredAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asRequiredAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <wsdl:input message="tns:asOptionalAttributeRequest"></wsdl:input>
+ <wsdl:output message="tns:asOptionalAttributeResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <wsdl:input message="tns:asArrayRequest"></wsdl:input>
+ <wsdl:output message="tns:asArrayResponse"></wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <wsdl:input message="tns:asComplexTypeRequest"></wsdl:input>
+ <wsdl:output message="tns:asComplexTypeResponse"></wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="XSD_unsignedShortSOAP" type="tns:XSD_unsignedShort">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="asNonNillableElement">
+ <soap:operation
+ soapAction="XSD_unsignedShort#asNonNillableElement" style="document" />
+ <wsdl:input name="asNonNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNonNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asNillableElement">
+ <soap:operation soapAction="XSD_unsignedShort#asNillableElement"
+ style="document" />
+ <wsdl:input name="asNillableElementRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="asNillableElementResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asRequiredAttribute">
+ <soap:operation
+ soapAction="XSD_unsignedShort#asRequiredAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asOptionalAttribute">
+ <soap:operation
+ soapAction="XSD_unsignedShort#asOptionalAttribute" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asArray">
+ <soap:operation soapAction="XSD_unsignedShort#asArray" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="asComplexType">
+ <soap:operation soapAction="XSD_unsignedShort#asComplexType"
+ style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="XSD_unsignedShort">
+ <wsdl:port binding="tns:XSD_unsignedShortSOAP"
+ name="XSD_unsignedShortSOAP">
+ <soap:address
+ location="http://localhost:9080/XSD_unsignedShort/services/XSD_unsignedShort" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/inquire_v2.wsdl b/test/resources/wsdl/inquire_v2.wsdl
new file mode 100644
index 0000000..44cf70c
--- /dev/null
+++ b/test/resources/wsdl/inquire_v2.wsdl
@@ -0,0 +1,273 @@
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:uddi-org:inquiry_v2" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:uddi="urn:uddi-org:api_v2" targetNamespace="urn:uddi-org:inquiry_v2" name="UDDI_Inquiry_API_V2">
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+ <documentation>
+ Copyright (c) 2000 - 2002 by Accenture, Ariba, Inc., Commerce One, Inc.
+ Fujitsu Limited, Hewlett-Packard Company, i2 Technologies, Inc.,
+ Intel Corporation, International Business Machines Corporation,
+ Microsoft Corporation, Oracle Corporation, SAP AG, Sun Microsystems, Inc.,
+ and VeriSign, Inc. All Rights Reserved.
+
+ WSDL Service Interface for UDDI Inquiry API V2.0
+
+ This WSDL document defines the inquiry API calls for interacting with
+ the UDDI registry. The complete UDDI API specification is available
+ at http://www.uddi.org/specification.html.
+ </documentation>
+ <types>
+ <xsd:schema targetNamespace="urn:uddi-org:inquiry_v2" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:import namespace="urn:uddi-org:api_v2" schemaLocation="http://www.uddi.org/schema/uddi_v2.xsd"/>
+ </xsd:schema>
+ </types>
+ <message name="bindingDetail">
+ <part name="body" element="uddi:bindingDetail"/>
+ </message>
+ <message name="businessDetail">
+ <part name="body" element="uddi:businessDetail"/>
+ </message>
+ <message name="businessDetailExt">
+ <part name="body" element="uddi:businessDetailExt"/>
+ </message>
+ <message name="businessList">
+ <part name="body" element="uddi:businessList"/>
+ </message>
+ <message name="dispositionReport">
+ <part name="body" element="uddi:dispositionReport"/>
+ </message>
+ <message name="find_binding">
+ <part name="body" element="uddi:find_binding"/>
+ </message>
+ <message name="find_business">
+ <part name="body" element="uddi:find_business"/>
+ </message>
+ <message name="find_relatedBusinesses">
+ <part name="body" element="uddi:find_relatedBusinesses"/>
+ </message>
+ <message name="find_service">
+ <part name="body" element="uddi:find_service"/>
+ </message>
+ <message name="find_tModel">
+ <part name="body" element="uddi:find_tModel"/>
+ </message>
+ <message name="get_bindingDetail">
+ <part name="body" element="uddi:get_bindingDetail"/>
+ </message>
+ <message name="get_businessDetail">
+ <part name="body" element="uddi:get_businessDetail"/>
+ </message>
+ <message name="get_businessDetailExt">
+ <part name="body" element="uddi:get_businessDetailExt"/>
+ </message>
+ <message name="get_serviceDetail">
+ <part name="body" element="uddi:get_serviceDetail"/>
+ </message>
+ <message name="get_tModelDetail">
+ <part name="body" element="uddi:get_tModelDetail"/>
+ </message>
+ <message name="relatedBusinessesList">
+ <part name="body" element="uddi:relatedBusinessesList"/>
+ </message>
+ <message name="serviceDetail">
+ <part name="body" element="uddi:serviceDetail"/>
+ </message>
+ <message name="serviceList">
+ <part name="body" element="uddi:serviceList"/>
+ </message>
+ <message name="tModelDetail">
+ <part name="body" element="uddi:tModelDetail"/>
+ </message>
+ <message name="tModelList">
+ <part name="body" element="uddi:tModelList"/>
+ </message>
+ <portType name="Inquire">
+ <documentation>
+ This portType defines all of the UDDI inquiry operations.
+ </documentation>
+ <operation name="find_binding">
+ <input message="tns:find_binding"/>
+ <output message="tns:bindingDetail"/>
+ <fault name="error" message="tns:dispositionReport"/>
+ </operation>
+ <operation name="find_business">
+ <input message="tns:find_business"/>
+ <output message="tns:businessList"/>
+ <fault name="error" message="tns:dispositionReport"/>
+ </operation>
+ <operation name="find_relatedBusinesses">
+ <input message="tns:find_relatedBusinesses"/>
+ <output message="tns:relatedBusinessesList"/>
+ <fault name="error" message="tns:dispositionReport"/>
+ </operation>
+ <operation name="find_service">
+ <input message="tns:find_service"/>
+ <output message="tns:serviceList"/>
+ <fault name="error" message="tns:dispositionReport"/>
+ </operation>
+ <operation name="find_tModel">
+ <input message="tns:find_tModel"/>
+ <output message="tns:tModelList"/>
+ <fault name="error" message="tns:dispositionReport"/>
+ </operation>
+ <operation name="get_bindingDetail">
+ <input message="tns:get_bindingDetail"/>
+ <output message="tns:bindingDetail"/>
+ <fault name="error" message="tns:dispositionReport"/>
+ </operation>
+ <operation name="get_businessDetail">
+ <input message="tns:get_businessDetail"/>
+ <output message="tns:businessDetail"/>
+ <fault name="error" message="tns:dispositionReport"/>
+ </operation>
+ <operation name="get_businessDetailExt">
+ <input message="tns:get_businessDetailExt"/>
+ <output message="tns:businessDetailExt"/>
+ <fault name="error" message="tns:dispositionReport"/>
+ </operation>
+ <operation name="get_serviceDetail">
+ <input message="tns:get_serviceDetail"/>
+ <output message="tns:serviceDetail"/>
+ <fault name="error" message="tns:dispositionReport"/>
+ </operation>
+ <operation name="get_tModelDetail">
+ <input message="tns:get_tModelDetail"/>
+ <output message="tns:tModelDetail"/>
+ <fault name="error" message="tns:dispositionReport"/>
+ </operation>
+ </portType>
+ <binding name="InquireSoap" type="tns:Inquire">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <operation name="find_binding">
+ <soap:operation soapAction="find_binding" style="document"/>
+ <input>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </input>
+ <output>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </output>
+ <fault name="error">
+ <soap:fault name="error" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="find_business">
+ <soap:operation soapAction="find_business" style="document"/>
+ <input>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </input>
+ <output>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </output>
+ <fault name="error">
+ <soap:fault name="error" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="find_relatedBusinesses">
+ <soap:operation soapAction="find_relatedBusinesses" style="document"/>
+ <input>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </input>
+ <output>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </output>
+ <fault name="error">
+ <soap:fault name="error" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="find_service">
+ <soap:operation soapAction="find_service" style="document"/>
+ <input>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </input>
+ <output>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </output>
+ <fault name="error">
+ <soap:fault name="error" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="find_tModel">
+ <soap:operation soapAction="find_tModel" style="document"/>
+ <input>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </input>
+ <output>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </output>
+ <fault name="error">
+ <soap:fault name="error" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="get_bindingDetail">
+ <soap:operation soapAction="get_bindingDetail" style="document"/>
+ <input>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </input>
+ <output>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </output>
+ <fault name="error">
+ <soap:fault name="error" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="get_businessDetail">
+ <soap:operation soapAction="get_businessDetail" style="document"/>
+ <input>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </input>
+ <output>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </output>
+ <fault name="error">
+ <soap:fault name="error" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="get_businessDetailExt">
+ <soap:operation soapAction="get_businessDetailExt" style="document"/>
+ <input>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </input>
+ <output>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </output>
+ <fault name="error">
+ <soap:fault name="error" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="get_serviceDetail">
+ <soap:operation soapAction="get_serviceDetail" style="document"/>
+ <input>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </input>
+ <output>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </output>
+ <fault name="error">
+ <soap:fault name="error" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="get_tModelDetail">
+ <soap:operation soapAction="get_tModelDetail" style="document"/>
+ <input>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </input>
+ <output>
+ <soap:body parts="body" use="literal" namespace="urn:uddi-org:api_v2"/>
+ </output>
+ <fault name="error">
+ <soap:fault name="error" use="literal"/>
+ </fault>
+ </operation>
+ </binding>
+</definitions>
diff --git a/test/resources/wsdl/interoptestdoclitparameters.wsdl b/test/resources/wsdl/interoptestdoclitparameters.wsdl
new file mode 100644
index 0000000..7cf3fa4
--- /dev/null
+++ b/test/resources/wsdl/interoptestdoclitparameters.wsdl
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="WSDLInteropTestDocLitService"
+ targetNamespace="http://soapinterop.org/WSDLInteropTestDocLit"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://soapinterop.org/WSDLInteropTestDocLit"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsd1="http://soapinterop.org/xsd"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <types>
+ <schema targetNamespace="http://soapinterop.org/xsd"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <complexType name="ArrayOfstring_literal">
+ <sequence>
+ <element maxOccurs="unbounded" minOccurs="1" name="string" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ <complexType name="SOAPStruct">
+ <all>
+ <element name="varFloat" type="xsd:float"/>
+ <element name="varInt" type="xsd:int"/>
+ <element name="varString" type="xsd:string"/>
+ </all>
+ </complexType>
+
+ <element name="echoString">
+ <complexType>
+ <sequence>
+ <element name="param0" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStringResponse">
+ <complexType>
+ <sequence>
+ <element name="return" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStringArray">
+ <complexType>
+ <sequence>
+ <element name="param0" type="xsd1:ArrayOfstring_literal"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStringArrayResponse">
+ <complexType>
+ <sequence>
+ <element name="return" type="xsd1:ArrayOfstring_literal"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStruct">
+ <complexType>
+ <sequence>
+ <element name="param0" type="xsd1:SOAPStruct"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoStructResponse">
+ <complexType>
+ <sequence>
+ <element name="return" type="xsd1:SOAPStruct"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="echoVoid">
+ <complexType/>
+ </element>
+ <element name="echoVoidResponse">
+ <complexType/>
+ </element>
+ </schema>
+ </types>
+ <message name="echoString">
+ <part element="xsd1:echoString" name="parameters"/>
+ </message>
+ <message name="echoStringResponse">
+ <part element="xsd1:echoStringResponse" name="parameters"/>
+ </message>
+ <message name="echoStringArray">
+ <part element="xsd1:echoStringArray" name="parameters"/>
+ </message>
+ <message name="echoStringArrayResponse">
+ <part element="xsd1:echoStringArrayResponse" name="parameters"/>
+ </message>
+ <message name="echoStruct">
+ <part element="xsd1:echoStruct" name="parameters"/>
+ </message>
+ <message name="echoStructResponse">
+ <part element="xsd1:echoStructResponse" name="parameters"/>
+ </message>
+ <message name="echoVoid">
+ <part element="xsd1:echoVoid" name="parameters"/>
+ </message>
+ <message name="echoVoidResponse">
+ <part element="xsd1:echoVoidResponse" name="parameters"/>
+ </message>
+ <portType name="WSDLInteropTestDocLitPortType">
+ <operation name="echoString">
+ <input message="tns:echoString" name="echoString"/>
+ <output message="tns:echoStringResponse" name="echoStringResponse"/>
+ </operation>
+ <operation name="echoStringArray">
+ <input message="tns:echoStringArray" name="echoStringArray"/>
+ <output message="tns:echoStringArrayResponse" name="echoStringArrayResponse"/>
+ </operation>
+ <operation name="echoStruct">
+ <input message="tns:echoStruct" name="echoStruct"/>
+ <output message="tns:echoStructResponse" name="echoStructResponse"/>
+ </operation>
+ <operation name="echoVoid">
+ <input message="tns:echoVoid" name="echoVoid"/>
+ <output message="tns:echoVoidResponse" name="echoVoidResponse"/>
+ </operation>
+ </portType>
+ <binding name="WSDLInteropTestDocLitPortBinding"
+ type="tns:WSDLInteropTestDocLitPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="echoString">
+ <soap:operation soapAction="http://soapinterop.org/echoString" style="document"/>
+ <input name="echoString">
+ <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit"
+ use="literal"/>
+ </input>
+ <output name="echoStringResponse">
+ <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit"
+ use="literal"/>
+ </output>
+ </operation>
+ <operation name="echoStringArray">
+ <soap:operation soapAction="http://soapinterop.org/echoStringArray" style="document"/>
+ <input name="echoStringArray">
+ <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit"
+ use="literal"/>
+ </input>
+ <output name="echoStringArrayResponse">
+ <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit"
+ use="literal"/>
+ </output>
+ </operation>
+ <operation name="echoStruct">
+ <soap:operation soapAction="http://soapinterop.org/echoStruct" style="document"/>
+ <input name="echoStruct">
+ <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit"
+ use="literal"/>
+ </input>
+ <output name="echoStructResponse">
+ <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit"
+ use="literal"/>
+ </output>
+ </operation>
+ <operation name="echoVoid">
+ <soap:operation soapAction="http://soapinterop.org/echoVoid" style="document"/>
+ <input name="echoVoid">
+ <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit"
+ use="literal"/>
+ </input>
+ <output name="echoVoidResponse">
+ <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit"
+ use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="WSDLInteropTestDocLitService">
+ <port binding="tns:WSDLInteropTestDocLitPortBinding"
+ name="WSDLInteropTestDocLitParamPort">
+ <soap:address
+ location="http://www.whitemesa.net/interop/r3/doclitparam"/>
+ </port>
+ </service>
+</definitions>
diff --git a/test/resources/wsdl/nillableComplexType.wsdl b/test/resources/wsdl/nillableComplexType.wsdl
new file mode 100644
index 0000000..ea224c2
--- /dev/null
+++ b/test/resources/wsdl/nillableComplexType.wsdl
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<wsdl:definitions targetNamespace="http://localhost/axis/nillableComplexType"
+xmlns="http://schemas.xmlsoap.org/wsdl/"
+xmlns:apachesoap="http://xml.apache.org/xml-soap"
+xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+xmlns:impl="http://localhost/axis/nillableComplexType"
+xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
+xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+xmlns:xs="nillableComplexType">
+ <wsdl:types>
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:import namespace="nillableComplexType" schemaLocation="nillableComplexType.xsd">
+ </xsd:import>
+ </xsd:schema>
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://localhost/axis/nillableComplexType">
+ <xsd:element name="ReportReturn">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ReportReturn"
+ type="xsd:string">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+
+ <wsdl:message name="ReportRequest">
+ <wsdl:part name="myClass" type="xs:MyClass"/>
+ </wsdl:message>
+
+ <wsdl:message name="ReportResponse">
+ <wsdl:part name="ReportReturn" element="impl:ReportReturn"/>
+ </wsdl:message>
+
+ <wsdl:portType name="nillableComplexType">
+ <wsdl:operation name="Report">
+ <wsdl:input message="impl:ReportRequest" name="ReportRequest"/>
+ <wsdl:output message="impl:ReportResponse" name="ReportResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:binding name="nillableComplexTypeSoapBinding" type="impl:nillableComplexType">
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="Report">
+ <wsdlsoap:operation soapAction="nillableComplexType#Report" style="document"/>
+ <wsdl:input name="ReportRequest">
+ <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://localhost/axis/nillableComplexType"
+ use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="ReportResponse">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="nillableComplexType">
+ <wsdl:port binding="impl:nillableComplexTypeSoapBinding" name="nillableComplexType">
+ <wsdlsoap:address location="http://localhost/axis/nillableComplexType"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/test/resources/wsdl/nillableComplexType.xsd b/test/resources/wsdl/nillableComplexType.xsd
new file mode 100644
index 0000000..765be56
--- /dev/null
+++ b/test/resources/wsdl/nillableComplexType.xsd
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:tns="nillableComplexType"
+ targetNamespace="nillableComplexType">
+
+<xs:complexType name="MyClass" mixed="true">
+ <xs:sequence>
+ <xs:element name="Name" form="unqualified" nillable="true" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="20"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Values" form="unqualified" nillable="true" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:base64Binary">
+ <xs:maxLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:NMTOKEN" use="optional" form="unqualified"/>
+</xs:complexType>
+
+</xs:schema>