<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns:s1="http://soapinterop.org" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/xsd" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 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/xsd">
      <s:element name="echoStringParam" type="s:string" />
      <s:element name="echoStringReturn" type="s:string" />
      <s:element name="Header1" type="s0:Header1" />
      <s:complexType name="Header1">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="string" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="int" type="s:int" />
        </s:sequence>
      </s:complexType>
      <s:element name="Header2" type="s0:Header2" />
      <s:complexType name="Header2">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="int" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="string" type="s:string" />
        </s:sequence>
      </s:complexType>
    </s:schema>
    <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org">
      <s:element name="string" nillable="true" type="s:string" />
    </s:schema>
  </types>
  <message name="echoStringSoapIn">
    <part name="echoStringParam" element="s0:echoStringParam" />
  </message>
  <message name="echoStringSoapOut">
    <part name="echoStringResult" element="s0:echoStringReturn" />
  </message>
  <message name="echoStringHeader1">
    <part name="Header1" element="s0:Header1" />
  </message>
  <message name="echoStringHeader2">
    <part name="Header2" element="s0:Header2" />
  </message>
  <portType name="InteropTestHeadersSoap">
    <operation name="echoString">
      <input message="s1:echoStringSoapIn" />
      <output message="s1:echoStringSoapOut" />
    </operation>
  </portType>
  <binding name="InteropTestHeadersSoap" type="s1:InteropTestHeadersSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    <operation name="echoString">
      <soap:operation soapAction="http://soapinterop.org/" style="document" />
      <input>
        <soap:body use="literal" />
        <soap:header message="s1:echoStringHeader1" part="Header1" use="literal" />
        <soap:header message="s1:echoStringHeader2" part="Header2" use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
  </binding>
  <binding name="InteropTestHeadersHttpGet" type="s1:InteropTestHeadersHttpGet">
    <http:binding verb="GET" />
    <operation name="echoString">
      <http:operation location="/echoString" />
      <input>
        <http:urlEncoded />
      </input>
      <output>
        <mime:mimeXml part="Body" />
      </output>
    </operation>
  </binding>
  <binding name="InteropTestHeadersHttpPost" type="s1:InteropTestHeadersHttpPost">
    <http:binding verb="POST" />
    <operation name="echoString">
      <http:operation location="/echoString" />
      <input>
        <mime:content type="application/x-www-form-urlencoded" />
      </input>
      <output>
        <mime:mimeXml part="Body" />
      </output>
    </operation>
  </binding>
  <service name="InteropTestHeaders">
    <port name="InteropTestHeadersSoap" binding="s1:InteropTestHeadersSoap">
      <soap:address location="http://mssoapinterop.org/asmx/wsdl/InteropTestHeaders.asmx" />
    </port>
  </service>
</definitions>
