<?xml version="1.0"?>

<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">
			<complexType name="ArrayOfanyType">
				<complexContent>
					<restriction base="SOAP-ENC:Array">
						<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="anyType[]"/>
					</restriction>
				</complexContent>
			</complexType>
			<complexType name="PolyMorphStruct">
				<all>
					<element name="varA" type="anyType"/>
					<element name="varB" type="anyType"/>
					<element name="varC" type="anyType"/>
				</all>
			</complexType>
		</schema>
	</types>

	<message name="echoPolyMorphRequest">
		<part name="inputPolyMorph" type="xsd:anyType"/>
	</message>
	<message name="echoPolyMorphResponse">
		<part name="return" type="xsd:anyType"/>
	</message>
	<message name="echoPolyMorphArrayRequest">
		<part name="inputPolyMorphArray" type="s:ArrayOfanyType"/>
	</message>
	<message name="echoPolyMorphArrayResponse">
		<part name="return" type="s:ArrayOfanyType"/>
	</message>
	<message name="echoPolyMorphStructRequest">
		<part name="inputPolyMorphStruct" type="s:PolyMorphStruct"/>
	</message>
	<message name="echoPolyMorphStructResponse">
		<part name="return" type="s:PolyMorphStruct"/>
	</message>

	<portType name="InteropTestPortTypePM">
		<operation name="echoPolyMorph" parameterOrder="inputPolyMorph">
			<input message="tns:echoPolyMorphRequest" name="echoPolyMorph"/>
			<output message="tns:echoPolyMorphResponse" name="echoPolyMorphResponse"/>
		</operation>
		<operation name="echoPolyMorphArray" parameterOrder="inputPolyMorphArray">
			<input message="tns:echoPolyMorphArrayRequest" name="echoPolyMorphArray"/>
			<output message="tns:echoPolyMorphArrayResponse" name="echoPolyMorphArrayResponse"/>
		</operation>
		<operation name="echoPolyMorphStruct" parameterOrder="inputPolyMorphStruct">
			<input message="tns:echoPolyMorphStructRequest" name="echoPolyMorphStruct"/>
			<output message="tns:echoPolyMorphStructResponse" name="echoPolyMorphStructResponse"/>
		</operation>
	</portType>

	<binding name="InteropTestSoapBindingPM" type="tns:InteropTestPortTypePM">
		<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="echoPolyMorph">
			<soap:operation soapAction="http://soapinterop.org/"/>
			<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="echoPolyMorphArray">
			<soap:operation soapAction="http://soapinterop.org/"/>
			<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="echoPolyMorphStruct">
			<soap:operation soapAction="http://soapinterop.org/"/>
			<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="interopLabPM">
  		<port name="interopTestPortPM" binding="tns:InteropTestSoapBindingPM">
    			<soap:address location="http://www.whitemesa.net/interop/poly"/>
  		</port>
	</service>

</definitions>
