<?xml version="1.0" encoding="utf-8"?>
<definitions name="echo_version"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:tns="urn:example.com:simpletype-rpc"
    xmlns:txd="urn:example.com:simpletype-rpc-type"
    targetNamespace="urn:example.com:simpletype-rpc"
    xmlns="http://schemas.xmlsoap.org/wsdl/">
  <types>
    <xsd:schema targetNamespace="urn:example.com:simpletype-rpc-type">
      <xsd:complexType name="version_struct">
	<xsd:all>
	  <xsd:element name="version" type="txd:version" />
	  <xsd:element name="msg" type="xsd:string" />
	</xsd:all>
      </xsd:complexType>

      <xsd:simpleType name="version">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="1.6"/>
          <xsd:enumeration value="1.8"/>
          <xsd:enumeration value="1.9"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="stateType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="stateType"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="zipIntType">
        <xsd:restriction base="xsd:int">
          <xsd:enumeration value="123"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="zipUnion">
        <xsd:union memberTypes="tns:stateType tns:zipIntType"/>
      </xsd:simpleType>

      <xsd:element name="zip" type="tns:zipUnion"/>
    </xsd:schema>
  </types>

  <message name="msg_version">
    <part name="version" type="txd:version"/>
  </message>

  <message name="msg_version_struct">
    <part name="version_struct" type="txd:version_struct"/>
  </message>

  <portType name="echo_version_port_type">
    <operation name="echo_version">
      <input message="tns:msg_version"/>
      <output message="tns:msg_version_struct"/>
    </operation>

    <operation name="echo_version_r">
      <input message="tns:msg_version_struct"/>
      <output message="tns:msg_version"/>
    </operation>
  </portType>

  <binding name="echo_version_binding" type="tns:echo_version_port_type">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
    <operation name="echo_version">
      <soap:operation soapAction="urn:example.com:simpletype-rpc"/>
      <input>
        <soap:body use="encoded" namespace="urn:example.com:simpletype-rpc"
	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded" namespace="urn:example.com:simpletype-rpc"
	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>

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

  <service name="echo_version_service">
    <port name="echo_version_port" binding="tns:echo_version_binding">
      <soap:address location="http://localhost:10080"/>
    </port>
  </service>
</definitions>
