<?xml version="1.0" encoding="utf-8"?>
<definitions name="echo"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:tns="urn:rpc"
    xmlns:txd="urn:rpc-type"
    targetNamespace="urn:rpc"
    xmlns="http://schemas.xmlsoap.org/wsdl/">
  <types>
    <xsd:schema targetNamespace="urn:rpc-type">
      <xsd:complexType name="person">
	<xsd:all>
	  <xsd:element name="family-name" type="xsd:string" />
	  <xsd:element name="Given_name" type="xsd:string" />
	  <xsd:element name="age" type="xsd:long" />
          <xsd:element name="gender" type="txd:gender" />
	  <xsd:element name="link" type="txd:person" />
	</xsd:all>
      </xsd:complexType>

      <xsd:simpleType name="gender">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="F"/>
          <xsd:enumeration value="M"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:schema>
  </types>

  <message name="echo_in">
    <part name="arg1" type="txd:person"/>
    <part name="arg2" type="txd:person"/>
  </message>

  <message name="echo_out">
    <part name="return" type="txd:person"/>
  </message>

  <message name="echo_basetype_in">
    <part name="date" type="xsd:date"/>
    <part name="long" type="xsd:long"/>
  </message>

  <message name="echo_basetype_out">
    <part name="return" type="xsd:date"/>
  </message>

  <portType name="echo_port_type">
    <operation name="echo">
      <input message="tns:echo_in"/>
      <output message="tns:echo_out"/>
    </operation>

    <operation name="echo_basetype">
      <input message="tns:echo_basetype_in"/>
      <output message="tns:echo_basetype_out"/>
    </operation>

    <operation name="echo_err">
      <input message="tns:echo_in"/>
      <output message="tns:echo_out"/>
    </operation>
  </portType>

  <binding name="echo_binding" type="tns:echo_port_type">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
    <operation name="echo">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="encoded" namespace="urn:rpc"
	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded" namespace="urn:rpc"
	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>

    <operation name="echo_basetype">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="encoded" namespace="urn:rpc"
	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded" namespace="urn:rpc"
	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>

    <operation name="echo_err">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="encoded" namespace="urn:rpc"
	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded" namespace="urn:rpc"
	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
  </binding>

  <service name="echo_service">
    <port name="echo_port" binding="tns:echo_binding">
      <soap:address location="http://localhost:10080"/>
    </port>
  </service>
</definitions>
