<?xml version="1.0"?>
<!-- example borrowed and extended from http://cs.au.dk/~amoeller/WWW/webservices/wsdlexample.html -->
<definitions name="StockQuote"
             targetNamespace="http://example.com/stockquote.wsdl"
             xmlns:tns="http://example.com/stockquote.wsdl"
             xmlns:xsd1="http://example.com/stockquote.xsd"
             xmlns:xsd2="http://example.com/stockquote2.xsd"
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/"
             xmlns:xs="http://www.w3.org/2001/XMLSchema"
             xmlns="http://schemas.xmlsoap.org/wsdl/">

  <types>
    <schema targetNamespace="http://example.com/stockquote.xsd"
            xmlns:xsd3="http://example.com/stockquote.xsd"
            xmlns="http://www.w3.org/2001/XMLSchema">
      <element name="TradePrice">
         <complexType>
           <all>
             <element name="xsd3:price" type="xs:float"/>
           </all>
         </complexType>
      </element>
      <complexType name="xsd3:TradePriceRequest">
        <sequence>
          <element name="tickerSymbol" type="xs:string" maxOccurs="5"/>
          <element name="specialTickerSymbol" type="xsd2:TickerSymbol" maxOccurs="unbounded"/>
          <attribute name="id" type="xs:string"/>
        </sequence>
      </complexType>
    </schema>

    <schema targetNamespace="http://example.com/stockquote2.xsd"
            xmlns="http://www.w3.org/2001/XMLSchema">
      <complexType name="TickerSymbol">
        <sequence>
          <element name="name" type="xs:string" maxOccurs="1"/>
        </sequence>
      </complexType>
    </schema>
  </types>

  <message name="GetLastTradePriceInput">
    <part name="body" element="xsd1:TradePriceRequest"/>
  </message>

  <message name="GetLastTradePriceOutput">
    <part name="body" element="xsd3:TradePrice"/>
  </message>

  <portType name="StockQuotePortType">
    <operation name="GetLastTradePrice">
      <input message="tns:GetLastTradePriceInput"/>
      <output message="tns:GetLastTradePriceOutput"/>
    </operation>
  </portType>

  <binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="GetLastTradePrice">
      <soap:operation soapAction="http://example.com/GetLastTradePrice"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
  </binding>

  <service name="StockQuoteService">
    <documentation>My first service</documentation>
    <port name="StockQuotePort" binding="tns:StockQuoteSoapBinding">
      <soap:address location="http://example.com/stockquote"/>
    </port>
  </service>

</definitions>