<?xml version='1.0' encoding='UTF-8' ?> 
<definitions  name ='InteropDef'   targetNamespace = 'http://soapinterop.org/'
	 xmlns:xsd1='http://soapinterop.org/' 
	 xmlns:typens='http://soapinterop.org/xsd' 
	 xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' 
	 xmlns:xsd='http://www.w3.org/2001/XMLSchema' 
	 xmlns='http://schemas.xmlsoap.org/wsdl/'> 
  <types>
    <schema targetNamespace='http://soapinterop.org/xsd'
      xmlns='http://www.w3.org/2001/XMLSchema'
      xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/'
      xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'
      elementFormDefault='qualified'>
      <complexType  name ='ArrayOffloat'>
        <complexContent>
          <restriction base='SOAP-ENC:Array'>
            <attribute ref='SOAP-ENC:arrayType' wsdl:arrayType='float[]'/>
          </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 ='ArrayOfstring'>
        <complexContent>
          <restriction base='SOAP-ENC:Array'>
            <attribute ref='SOAP-ENC:arrayType' wsdl:arrayType='string[]'/>
          </restriction>
        </complexContent>
      </complexType>
  	<complexType name="SOAPStruct">
    	<sequence>
    	  <element name="varInt" type="xsd:int"/>
    	  <element name="varFloat" type="xsd:float"/>
    	  <element name="varString" type="xsd:string"/>
    	</sequence>
  	</complexType>
  	<complexType name="ArrayOfSOAPStruct">
        <complexContent>
          <restriction base='SOAP-ENC:Array'>
            <attribute ref='SOAP-ENC:arrayType' wsdl:arrayType='typens:SOAPStruct[]'/>
          </restriction>
        </complexContent>
	</complexType>
    </schema>
  </types>
  <message name='echoVoid'>
  </message>
  <message name='echoVoidResponse'>
  </message>
  <message name='echoFloatArray'>
    <part name='inputArray' type='typens:ArrayOffloat'/>
  </message>
  <message name='echoFloatArrayResponse'>
    <part name='return' type='typens:ArrayOffloat'/>
  </message>
  <message name='echoIntegerArray'>
    <part name='inputArray' type='typens:ArrayOfint'/>
  </message>
  <message name='echoIntegerArrayResponse'>
    <part name='return' type='typens:ArrayOfint'/>
  </message>
  <message name='echoStringArray'>
    <part name='inputArray' type='typens:ArrayOfstring'/>
  </message>
  <message name='echoStringArrayResponse'>
    <part name='return' type='typens:ArrayOfstring'/>
  </message>
  <message name='echoFloat'>
    <part name='inputFloat' type='xsd:float'/>
  </message>
  <message name='echoFloatResponse'>
    <part name='return' type='xsd:float'/>
  </message>
  <message name='echoDecimal'>
    <part name='inputDecimal' type='xsd:decimal'/>
  </message>
  <message name='echoDecimalResponse'>
    <part name='return' type='xsd:decimal'/>
  </message>
  <message name='echoInteger'>
    <part name='inputInteger' type='xsd:int'/>
  </message>
  <message name='echoIntegerResponse'>
    <part name='return' type='xsd:int'/>
  </message>
  <message name='echoStringRequest'>
    <part name='inputString' type='xsd:string'/>
  </message>
  <message name='echoStringResponse'>
    <part name='return' type='xsd:string'/>
  </message>
  <message name='echoDateRequest'>
    <part name='inputDate' type='xsd:dateTime'/>
  </message>
  <message name='echoDateResponse'>
    <part name='return' type='xsd:dateTime'/>
  </message>
  <message name='echoBase64Request'>
    <part name='inputDate' type='xsd:base64Binary'/>
  </message>
  <message name='echoBase64Response'>
    <part name='return' type='xsd:base64Binary'/>
  </message>
  <message name='echoStructRequest'>
    <part name='inputStruct' type='typens:SOAPStruct'/>
  </message>
  <message name='echoStructResponse'>
    <part name='return' type='typens:SOAPStruct'/>
  </message>
  <message name='echoStructArrayRequest'>
    <part name='inputArray' type='typens:ArrayOfSOAPStruct'/>
  </message>
  <message name='echoStructArrayResponse'>
    <part name='return' type='typens:ArrayOfSOAPStruct'/>
  </message>
  <message name="echoBooleanRequest">
	<part name="inputBoolean" type="xsd:boolean"/>
  </message>
  <message name="echoBooleanResponse">
	<part name="return" type="xsd:boolean"/>
  </message>
   <message name="echoHexBinary">
        <part name="inputHexBinary" type="xsd:hexBinary"/>
    </message>
    <message name="echoHexBinaryResponse">
        <part name="return" type="xsd:hexBinary"/>
    </message>
  <portType name='InteropPort'>
    <operation name='echoVoid'>
      <input message='xsd1:echoVoid' />
      <output message='xsd1:echoVoidResponse' />
    </operation>
    <operation name='echoFloatArray'>
      <input message='xsd1:echoFloatArray' />
      <output message='xsd1:echoFloatArrayResponse' />
    </operation>
    <operation name='echoIntegerArray'>
      <input message='xsd1:echoIntegerArray' />
      <output message='xsd1:echoIntegerArrayResponse' />
    </operation>
    <operation name='echoStringArray'>
      <input message='xsd1:echoStringArray' />
      <output message='xsd1:echoStringArrayResponse' />
    </operation>
    <operation name='echoFloat'>
      <input message='xsd1:echoFloat' />
      <output message='xsd1:echoFloatResponse' />
    </operation>
    <operation name='echoDecimal'>
      <input message='xsd1:echoDecimal' />
      <output message='xsd1:echoDecimalResponse' />
    </operation>
    <operation name='echoInteger'>
      <input message='xsd1:echoInteger' />
      <output message='xsd1:echoIntegerResponse' />
    </operation>
    <operation name='echoString'>
      <input message='xsd1:echoStringRequest' />
      <output message='xsd1:echoStringResponse' />
    </operation>
    <operation name='echoDate'>
      <input message='xsd1:echoDateRequest' />
      <output message='xsd1:echoDateResponse' />
    </operation>
    <operation name='echoBase64'>
      <input message='xsd1:echoBase64Request' />
      <output message='xsd1:echoBase64Response' />
    </operation>
    <operation name='echoStruct'>
      <input message='xsd1:echoStructRequest' />
      <output message='xsd1:echoStructResponse' />
    </operation>
    <operation name='echoStructArray'>
      <input message='xsd1:echoStructArrayRequest' />
      <output message='xsd1:echoStructArrayResponse' />
    </operation>
	<operation name="echoBoolean">
		<input message="xsd1:echoBooleanRequest"/>
		<output message="xsd1:echoBooleanResponse"/>
	</operation>
       <operation name="echoHexBinary">
            <input message="xsd1:echoHexBinary" name="echoHexBinary"/>
            <output message="xsd1:echoHexBinaryResponse" name="echoHexBinaryResponse"/>
        </operation>
  </portType>
  <binding name='InteropBinding' type='xsd1:InteropPort' >
    <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http' />
    <operation name='echoVoid' >
      <soap:operation soapAction='' />
      <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='urn:soapinterop' />
      <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='urn:soapinterop' />
      <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='urn:soapinterop' />
      <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='urn:soapinterop' />
      <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='urn:soapinterop' />
      <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='urn:soapinterop' />
      <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='echoString' >
      <soap:operation soapAction='urn:soapinterop' />
      <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='urn:soapinterop' />
      <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='urn:soapinterop' />
      <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='urn:soapinterop' />
      <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='urn:soapinterop' />
      <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="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="echoHexBinary">
            <soap:operation soapAction="http://soapinterop.org/" style="rpc"/>
            <input name="echoHexBinary">
                <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
                    namespace="http://soapinterop.org/" use="encoded"/>
            </input>
            <output name="echoHexBinaryResponse">
                <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
                    namespace="http://soapinterop.org/" use="encoded"/>
            </output>
        </operation>
  </binding>
  <service name='InteropDef' >
    <port name='InteropTestPort' binding='xsd1:InteropBinding' >
      <soap:address location='http://soapclient.com/interop/sqldatainterop.wsdl'/>
    </port>
  </service>
</definitions>
