<?xml version="1.0"?>

<definitions name="SOAP-12-TestDefinitions"
	targetNamespace="http://whitemesa.net/wsdl/soap12-test"
	xmlns="http://schemas.xmlsoap.org/wsdl/"
	xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:enc="http://www.w3.org/2003/05/soap-encoding"
	xmlns:tns="http://whitemesa.net/wsdl/soap12-test"
	xmlns:types="http://example.org/ts-tests/xsd"
	xmlns:test="http://example.org/ts-tests"
	xmlns:xlink="http://www.w3.org/1999/xlink"
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
	xmlns:enc11="http://schemas.xmlsoap.org/soap/encoding/">
	<types>
		<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.org/ts-tests/xsd">

			<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />

			<complexType name="ArrayOfstring">
				<complexContent>
					<restriction base="enc11:Array">
						<attribute ref="enc11:arrayType" wsdl:arrayType="xsd:string[]"/>
					</restriction>
				</complexContent>
			</complexType>

			<complexType name="ArrayOfint">
				<complexContent>
					<restriction base="enc11:Array">
						<attribute ref="enc11:arrayType" wsdl:arrayType="xsd:int[]"/>
					</restriction>
				</complexContent>
			</complexType>

			<complexType name="ArrayOffloat">
				<complexContent>
					<restriction base="enc11:Array">
						<attribute ref="enc11:arrayType" wsdl:arrayType="xsd:float[]"/>
					</restriction>
				</complexContent>
			</complexType>

			<complexType name="ArrayOfSOAPStruct">
				<complexContent>
					<restriction base="enc11:Array">
						<attribute ref="enc11:arrayType" wsdl:arrayType="types:SOAPStruct[]"/>
					</restriction>
				</complexContent>
			</complexType>

			<complexType name="SOAPStruct">
				<all>
					<element name="varString" type="xsd:string"/>
					<element name="varInt" type="xsd:int"/>
					<element name="varFloat" type="xsd:float"/>
				</all>
			</complexType>
			<complexType name="SOAPStructStruct">
				<all>
					<element name="varString" type="xsd:string"/>
					<element name="varInt" type="xsd:int"/>
					<element name="varFloat" type="xsd:float"/>
					<element name="varStruct" type="types:SOAPStruct"/>
				</all>
			</complexType>

			<complexType name="SOAPArrayStruct">
				<all>
					<element name="varString" type="xsd:string"/>
					<element name="varInt" type="xsd:int"/>
					<element name="varFloat" type="xsd:float"/>
					<element name="varArray" type="types:ArrayOfstring"/>
				</all>
			</complexType>

			<!-- unknown header block type -->
			<complexType name="UnknownType">
					<sequence>
						<element minOccurs="0" maxOccurs="1" name="stringValue" type="xsd:string" />
					</sequence>
			</complexType>

		</schema>

    	<schema xmlns="http://www.w3.org/2001/XMLSchema"
			elementFormDefault="qualified"
			targetNamespace="http://example.org/ts-tests">

			<import namespace="http://www.w3.org/1999/xlink" />
			<import namespace="http://example.org/ts-tests/xsd" />

			<!-- 3.2.1 echoOk -->
			<element name="echoOk" type="xsd:string"/>

			<!-- 3.2.2 responseOk -->
			<element name="responseOk" type="xsd:string"/>

			<!-- 3.2.3 Ignore -->
			<element name="Ignore" type="xsd:string"/>

			<!-- 3.2.4 requiredHeader -->
			<element name="requiredHeader" type="xsd:string"/>

			<element name="echoHeader" type="xsd:string"/>
			<element name="echoHeaderResponse" type="xsd:string"/>

			<!-- 3.2.5 DataHolder -->
			<element name="DataHolder" type="test:DataHolder_t"/>
			<complexType name="DataHolder_t">
				<sequence>
					<element name="Data" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
				</sequence>
			</complexType>

			<!-- 3.2.6 concatAndForwardEchoOk -->
			<element name="concatAndForwardEchoOk"/>

			<!-- 3.2.7 concatAndForwardEchoOkArg1 -->
			<element name="concatAndForwardEchoOkArg1" type="xsd:string"/>

			<!-- 3.2.8 concatAndForwardEchoOkArg2 -->
			<element name="concatAndForwardEchoOkArg2" type="xsd:string"/>

			<!-- 3.2.9 validateCountryCode -->
			<element name="validateCountryCode" type="xsd:string"/>

			<element name="validateCountryCodeResponse" type="xsd:string"/>

			<!-- 3.2.10 validateCountryCodeFault -->
			<element name="validateCountryCodeFault" type="xsd:string"/>

			<!-- 3.2.11 echoResolvedRef -->
			<element name="RelativeReference" type="test:RelativeReference_t"/>
			<complexType name="RelativeReference_t">
				<attribute ref="xml:base"/>
 				<attribute ref="xlink:href"/>
			</complexType>

			<element name="echoResolvedRef" type="test:echoResolvedRef_t"/>
			<complexType name="echoResolvedRef_t">
				<sequence>
					<element ref="test:RelativeReference" minOccurs="1" maxOccurs="1"/>
				</sequence>
			</complexType>

			<!-- 3.2.12 responseResolvedRef -->
			<element name="responseResolvedRef" type="xsd:string"/>

			<!-- echoOkUltimateReceiver added to support testing of "relay" -->
			<element name="echoOkUltimateReceiver" type="xsd:string"/>

			<!-- responseOkUltimateReceiver added to support testing of "relay" -->
			<element name="responseOkUltimateReceiver" type="xsd:string"/>

			<element name="Unknown" type="types:UnknownType" />

		</schema>

	</types>

	<!-- 3.4.1 returnVoid rpc operation -->
	<message name="returnVoidRequest"/>
	<message name="returnVoidResponse"/>

	<!-- 3.4.2 echoStruct rpc operation -->
	<message name="echoStructRequest">
		<part name="inputStruct" type="types:SOAPStruct"/>
	</message>
	<message name="echoStructResponse">
		<part name="return" type="types:SOAPStruct"/>
	</message>

	<!-- 3.4.3 echoStructArray rpc operation -->
	<message name="echoStructArrayRequest">
		<part name="inputStructArray" type="types:ArrayOfSOAPStruct"/>
	</message>
	<message name="echoStructArrayResponse">
		<part name="return" type="types:ArrayOfSOAPStruct"/>
	</message>

	<!-- 3.4.4 echoStructAsSimpleTypes rpc operation -->
	<message name="echoStructAsSimpleTypesRequest">
		<part name="inputStruct" type="types:SOAPStruct"/>
	</message>
	<message name="echoStructAsSimpleTypesResponse">
		<part name="outputString" type="xsd:string"/>
		<part name="outputInteger" type="xsd:int"/>
		<part name="outputFloat" type="xsd:float"/>
	</message>

	<!-- 3.4.5 echoSimpleTypesAsStruct rpc operation -->
	<message name="echoSimpleTypesAsStructRequest">
		<part name="inputString" type="xsd:string"/>
		<part name="inputInt" type="xsd:int"/>
		<part name="inputFloat" type="xsd:float"/>
	</message>
	<message name="echoSimpleTypesAsStructResponse">
		<part name="return" type="types:SOAPStruct"/>
	</message>

	<!-- 3.4.6 echoNestedStruct rpc operation -->
	<message name="echoNestedStructRequest">
		<part name="inputStruct" type="types:SOAPStructStruct"/>
	</message>
	<message name="echoNestedStructResponse">
		<part name="return" type="types:SOAPStructStruct"/>
	</message>

	<!-- 3.4.7 echoNestedArray rpc operation -->
	<message name="echoNestedArrayRequest">
		<part name="inputStruct" type="types:SOAPArrayStruct"/>
	</message>
	<message name="echoNestedArrayResponse">
		<part name="return" type="types:SOAPArrayStruct"/>
	</message>

	<!-- 3.4.8 echoFloatArray rpc operation -->
	<message name="echoFloatArrayRequest">
		<part name="inputFloatArray" type="types:ArrayOffloat"/>
	</message>
	<message name="echoFloatArrayResponse">
		<part name="return" type="types:ArrayOffloat"/>
	</message>

	<!-- 3.4.9 echoStringArray rpc operation -->
	<message name="echoStringArrayRequest">
		<part name="inputStringArray" type="types:ArrayOfstring"/>
	</message>
	<message name="echoStringArrayResponse">
		<part name="return" type="types:ArrayOfstring"/>
	</message>

	<!-- 3.4.10 echoIntegerArray rpc operation -->
	<message name="echoIntegerArrayRequest">
		<part name="inputIntegerArray" type="types:ArrayOfint"/>
	</message>
	<message name="echoIntegerArrayResponse">
		<part name="return" type="types:ArrayOfint"/>
	</message>

	<!-- 3.4.11 echoBase64 rpc operation -->
	<message name="echoBase64Request">
		<part name="inputBase64" type="xsd:base64Binary"/>
	</message>
	<message name="echoBase64Response">
		<part name="return" type="xsd:base64Binary"/>
	</message>

	<!-- 3.4.12 echoBoolean rpc operation -->
	<message name="echoBooleanRequest">
		<part name="inputBoolean" type="xsd:boolean"/>
	</message>
	<message name="echoBooleanResponse">
		<part name="return" type="xsd:boolean"/>
	</message>

	<!-- 3.4.13 echoDate rpc operation -->
	<message name="echoDateRequest">
		<part name="inputDate" type="xsd:dateTime"/>
	</message>
	<message name="echoDateResponse">
		<part name="return" type="xsd:dateTime"/>
	</message>

	<!-- 3.4.14 echoDecimal rpc operation -->
	<message name="echoDecimalRequest">
		<part name="inputDecimal" type="xsd:decimal"/>
	</message>
	<message name="echoDecimalResponse">
		<part name="return" type="xsd:decimal"/>
	</message>

	<!-- 3.4.15 echoFloat rpc operation -->
	<message name="echoFloatRequest">
		<part name="inputFloat" type="xsd:float"/>
	</message>
	<message name="echoFloatResponse">
		<part name="return" type="xsd:float"/>
	</message>

	<!-- 3.4.16 echoString rpc operation -->
	<message name="echoStringRequest">
		<part name="inputString" type="xsd:string"/>
	</message>
	<message name="echoStringResponse">
		<part name="return" type="xsd:string"/>
	</message>

	<!-- 3.4.17 countItems rpc operation -->
	<message name="countItemsRequest">
		<part name="inputStringArray" type="types:ArrayOfstring"/>
	</message>
	<message name="countItemsResponse">
		<part name="return" type="xsd:int"/>
	</message>

	<!-- 3.4.18 isNil rpc operation -->
	<message name="isNilRequest">
		<part name="inputString" type="xsd:string"/>
	</message>
	<message name="isNilResponse">
		<part name="return" type="xsd:boolean"/>
	</message>

	<!-- DataHolder header block -->
	<message name="DataHolderRequest">
		<part name="DataHolder" type="test:DataHolder_t"/>
	</message>
	<message name="DataHolderResponse">
		<part name="DataHolder" type="test:DataHolder_t"/>
	</message>

	<!-- empty message for doc/literal testing -->
	<message name="emptyBodyRequest"/>
	<message name="emptyBodyResponse"/>

	<!-- echoOk body/header block -->
	<message name="echoOkRequest">
		<part name="echoOk" element="test:echoOk"/>
	</message>
	<message name="echoOkResponse">
		<part name="responseOk" element="test:responseOk"/>
	</message>

	<message name="requiredHeaderRequest">
		<part name="requiredHeader" element="test:requiredHeader"/>
	</message>
	<message name="echoHeaderRequest">
		<part name="responseHeader" element="test:echoHeader"/>
	</message>
	<message name="echoHeaderResponse">
		<part name="responseHeader" element="test:echoHeaderResponse"/>
	</message>

	<message name="echoResolvedRefRequest">
		<part name="responseHeader" element="test:echoResolvedRef"/>
	</message>
	<message name="echoResolvedRefResponse">
		<part name="responseHeader" element="test:responseResolvedRef"/>
	</message>

	<!-- "unknown" header block -->
	<message name="UnknownHdrBlockLit">
		<part name="Unknown" element="test:Unknown" />
	</message>
	<message name="UnknownHdrBlockEnc">
		<part name="Unknown" type="types:UnknownType" />
	</message>

	<message name="validateCountryCodeRequest">
		<part name="validateCountryCode" element="test:validateCountryCode" />
	</message>
	<message name="validateCountryCodeFault">
		<part name="validateCountryCodeFault" element="test:validateCountryCodeFault" />
	</message>
	<message name="validateCountryCodeResponse">
		<part name="validateCountryCodeResponse" element="test:validateCountryCodeResponse" />
	</message>


  	<portType name="Soap12TestPortTypeDoc">
    		<operation name="emptyBody">
      			<input message="tns:emptyBodyRequest" />
      			<output message="tns:emptyBodyResponse" />
    		</operation>
    		<operation name="echoOk">
      			<input message="tns:echoOkRequest" />
      			<output message="tns:echoOkResponse" />
    		</operation>
    		<operation name="requiredHeader">
      			<input message="tns:requiredHeaderRequest" />
    		</operation>
    		<operation name="echoHeader">
      			<input message="tns:echoHeaderRequest" />
      			<output message="tns:echoHeaderResponse" />
    		</operation>
    		<operation name="echoResolvedRef">
      			<input message="tns:echoResolvedRefRequest" />
      			<output message="tns:echoResolvedRefResponse" />
    		</operation>
	</portType>

	<portType name="Soap12TestPortTypeRpc">

		<!-- 3.4.1 returnVoid rpc operation -->
		<operation name="returnVoid">
			<input message="tns:returnVoidRequest"/>
			<output message="tns:returnVoidResponse"/>
		</operation>

		<!-- 3.4.2 echoStruct rpc operation -->
		<operation name="echoStruct" parameterOrder="inputStruct">
			<input message="tns:echoStructRequest"/>
			<output message="tns:echoStructResponse"/>
		</operation>

		<!-- 3.4.3 echoStructArray rpc operation -->
		<operation name="echoStructArray" parameterOrder="inputStructArray">
			<input message="tns:echoStructArrayRequest"/>
			<output message="tns:echoStructArrayResponse"/>
		</operation>

		<!-- 3.4.4 echoStructAsSimpleTypes rpc operation -->
		<operation name="echoStructAsSimpleTypes" parameterOrder="inputStruct outputString outputInteger outputFloat">
			<input message="tns:echoStructAsSimpleTypesRequest"/>
			<output message="tns:echoStructAsSimpleTypesResponse"/>
		</operation>

		<!-- 3.4.5 echoSimpleTypesAsStruct rpc operation -->
		<operation name="echoSimpleTypesAsStruct" parameterOrder="inputString inputInteger inputFloat">
			<input message="tns:echoSimpleTypesAsStructRequest"/>
			<output message="tns:echoSimpleTypesAsStructResponse"/>
		</operation>

		<!-- 3.4.6 echoNestedStruct rpc operation -->
		<operation name="echoNestedStruct" parameterOrder="inputStruct">
			<input message="tns:echoNestedStructRequest"/>
			<output message="tns:echoNestedStructResponse"/>
		</operation>

		<!-- 3.4.7 echoNestedArray rpc operation -->
		<operation name="echoNestedArray" parameterOrder="inputStruct">
			<input message="tns:echoNestedArrayRequest"/>
			<output message="tns:echoNestedArrayResponse"/>
		</operation>

		<!-- 3.4.8 echoFloatArray rpc operation -->
		<operation name="echoFloatArray" parameterOrder="inputFloatArray">
			<input message="tns:echoFloatArrayRequest"/>
			<output message="tns:echoFloatArrayResponse"/>
		</operation>

		<!-- 3.4.9 echoStringArray rpc operation -->
		<operation name="echoStringArray" parameterOrder="inputStringArray">
			<input message="tns:echoStringArrayRequest"/>
			<output message="tns:echoStringArrayResponse"/>
		</operation>

		<!-- 3.4.10 echoIntegerArray rpc operation -->
		<operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
			<input message="tns:echoIntegerArrayRequest"/>
			<output message="tns:echoIntegerArrayResponse"/>
		</operation>

		<!-- 3.4.11 echoBase64 rpc operation -->
		<operation name="echoBase64" parameterOrder="inputBase64">
			<input message="tns:echoBase64Request"/>
			<output message="tns:echoBase64Response"/>
		</operation>

		<!-- 3.4.12 echoBoolean rpc operation -->
		<operation name="echoBoolean" parameterOrder="inputBoolean">
			<input message="tns:echoBooleanRequest"/>
			<output message="tns:echoBooleanResponse"/>
		</operation>

		<!-- 3.4.13 echoDate rpc operation -->
		<operation name="echoDate" parameterOrder="inputDate">
			<input message="tns:echoDateRequest"/>
			<output message="tns:echoDateResponse"/>
		</operation>

		<!-- 3.4.14 echoDecimal rpc operation -->
		<operation name="echoDecimal" parameterOrder="inputDecimal">
			<input message="tns:echoDecimalRequest"/>
			<output message="tns:echoDecimalResponse"/>
		</operation>

		<!-- 3.4.15 echoFloat rpc operation -->
		<operation name="echoFloat" parameterOrder="inputFloat">
			<input message="tns:echoFloatRequest"/>
			<output message="tns:echoFloatResponse"/>
		</operation>

		<!-- 3.4.16 echoString rpc operation -->
		<operation name="echoString" parameterOrder="inputString">
			<input message="tns:echoStringRequest"/>
			<output message="tns:echoStringResponse"/>
		</operation>

		<!-- 3.4.17 countItems rpc operation -->
		<operation name="countItems" parameterOrder="inputStringArray">
			<input message="tns:countItemsRequest"/>
			<output message="tns:countItemsResponse"/>
		</operation>

		<!-- 3.4.18 isNil rpc operation -->
		<operation name="isNil" parameterOrder="inputString">
			<input message="tns:isNilRequest"/>
			<output message="tns:isNilResponse"/>
		</operation>

	</portType>

  	<binding name="Soap12TestDocBinding" type="tns:Soap12TestPortTypeDoc">
    		<soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    		<operation name="emptyBody">
      			<soap12:operation/>
      			<input>
        			<soap12:body use="literal" />
        			<soap12:header message="tns:echoOkRequest" part="echoOk" use="literal" />
        			<soap12:header message="tns:UnknownHdrBlockLit" part="Unknown" use="literal" />
        			<soap12:header message="tns:validateCountryCodeRequest" part="validateCountryCode" use="literal">
        			  <soap12:headerfault message="tns:validateCountryCodeFault" part="validateCountryCodeFault" use="literal"/>
        			</soap12:header>
      			</input>
      			<output>
        			<soap12:body use="literal" />
        			<soap12:header message="tns:echoOkResponse" part="responseOk" use="literal" />
        			<soap12:header message="tns:validateCountryCodeResponse" part="validateCountryCodeResponse" use="literal"/>
      			</output>
    		</operation>
    		<operation name="echoOk">
      			<soap12:operation/>
      			<input>
        			<soap12:body use="literal" />
        			<soap12:header message="tns:echoOkRequest" part="echoOk" use="literal" />
				<soap12:header message="tns:UnknownHdrBlockLit" part="Unknown" use="literal" />
      			</input>
      			<output>
        			<soap12:body use="literal" />
        			<soap12:header message="tns:echoOkResponse" part="responseOk" use="literal" />
      			</output>
    		</operation>
    		<operation name="requiredHeader">
      			<soap12:operation/>
      			<input>
        			<soap12:body use="literal" />
      			</input>
    		</operation>
    		<operation name="echoHeader">
      			<soap12:operation/>
      			<input>
        			<soap12:body use="literal" />
        			<soap12:header message="tns:echoOkRequest" part="echoOk" use="literal" />
				<soap12:header message="tns:UnknownHdrBlockLit" part="Unknown" use="literal" />
      			</input>
      			<output>
        			<soap12:body use="literal" />
        			<soap12:header message="tns:echoOkResponse" part="responseOk" use="literal" />
      			</output>
    		</operation>
    		<operation name="echoResolvedRef">
      			<soap12:operation/>
      			<input>
        			<soap12:body use="literal" />
      			</input>
      			<output>
        			<soap12:body use="literal" />
      			</output>
    		</operation>
	</binding>

	<binding name="Soap12TestRpcBinding" type="tns:Soap12TestPortTypeRpc">
		<soap12:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

		<!-- 3.4.1 returnVoid rpc operation -->
		<operation name="returnVoid">
			<soap12:operation/>
			<input>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</input>
			<output>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</output>
		</operation>

		<!-- 3.4.2 echoStruct rpc operation -->
		<operation name="echoStruct">
			<soap12:operation/>
			<input>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</input>
			<output>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</output>
		</operation>

		<!-- 3.4.3 echoStructArray rpc operation -->
		<operation name="echoStructArray">
			<soap12:operation/>
			<input>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</input>
			<output>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</output>
		</operation>

		<!-- 3.4.4 echoStructAsSimpleTypes rpc operation -->
		<operation name="echoStructAsSimpleTypes">
			<soap12:operation/>
			<input>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</input>
			<output>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</output>
		</operation>

		<!-- 3.4.5 echoSimpleTypesAsStruct rpc operation -->
		<operation name="echoSimpleTypesAsStruct">
			<soap12:operation/>
			<input>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</input>
			<output>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</output>
		</operation>

		<!-- 3.4.6 echoNestedStruct rpc operation -->
		<operation name="echoNestedStruct">
			<soap12:operation/>
			<input>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</input>
			<output>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</output>
		</operation>

		<!-- 3.4.7 echoNestedArray rpc operation -->
		<operation name="echoNestedArray">
			<soap12:operation/>
			<input>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</input>
			<output>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</output>
		</operation>

		<!-- 3.4.8 echoFloatArray rpc operation -->
		<operation name="echoFloatArray">
			<soap12:operation/>
			<input>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</input>
			<output>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</output>
		</operation>

		<!-- 3.4.9 echoStringArray rpc operation -->
		<operation name="echoStringArray">
			<soap12:operation/>
			<input>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</input>
			<output>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</output>
		</operation>

		<!-- 3.4.10 echoIntegerArray rpc operation -->
		<operation name="echoIntegerArray">
			<soap12:operation/>
			<input>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</input>
			<output>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</output>
		</operation>

		<!-- 3.4.11 echoBase64 rpc operation -->
		<operation name="echoBase64">
			<soap12:operation/>
			<input>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</input>
			<output>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</output>
		</operation>

		<!-- 3.4.12 echoBoolean rpc operation -->
		<operation name="echoBoolean">
			<soap12:operation/>
			<input>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</input>
			<output>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</output>
		</operation>

		<!-- 3.4.13 echoDate rpc operation -->
		<operation name="echoDate">
			<soap12:operation/>
			<input>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</input>
			<output>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</output>
		</operation>

		<!-- 3.4.14 echoDecimal rpc operation -->
		<operation name="echoDecimal">
			<soap12:operation/>
			<input>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</input>
			<output>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</output>
		</operation>

		<!-- 3.4.15 echoFloat rpc operation -->
		<operation name="echoFloat">
			<soap12:operation/>
			<input>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</input>
			<output>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</output>
		</operation>

		<!-- 3.4.16 echoString rpc operation -->
		<operation name="echoString">
			<soap12:operation/>
			<input>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
				<soap12:header use="encoded" message="tns:DataHolderRequest" part="DataHolder" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</input>
			<output>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
				<soap12:header use="encoded" message="tns:DataHolderResponse" part="DataHolder" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</output>
		</operation>

		<!-- 3.4.17 countItems rpc operation -->
		<operation name="countItems">
			<soap12:operation/>
			<input>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</input>
			<output>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</output>
		</operation>

		<!-- 3.4.18 isNil rpc operation -->
		<operation name="isNil">
			<soap12:operation/>
			<input>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</input>
			<output>
				<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
			</output>
		</operation>

	</binding>


	<service name="WhiteMesaSoap12TestSvc">
  		<port name="Soap12TestDocPort" binding="tns:Soap12TestDocBinding">
    			<soap12:address location="http://localhost/soap12/test-doc"/>
  		</port>
  		<port name="Soap12TestRpcPort" binding="tns:Soap12TestRpcBinding">
    			<soap12:address location="http://localhost/soap12/test-rpc"/>
  		</port>

	</service>

</definitions>
