Listing 1: WSDL 2.0 skeleton

<description targetNamespace="xs:URI">
<documentation /> 
<types /> 
[<interface /> | <binding /> | <service />] 
</description>

Listing 2:

XML representation of a feature component

<feature ref ="xs: URI" required = "xs: boolean"?>
	<documentation/>
</feature>

Listing 3: Multiple parts

translated as a single complex type

<complexType name="Composite">
<choice>
<element name="PO" minOccurs="1" maxOccurs="1" type="tns:POType"/>
<element name="Invoice" minOccurs="0" maxOccurs="unbounded" type="tns:InvoiceType"/>
</choice>
</complexType>

Listings 4 and 5:

<?xml version="1.0"?>
<definitions name="StockQuote"
targetNamespace="http://example.com/stockquote.wsdlWSDL"
          xmlns:tns="http://example.com/stockquote.wsdlWSDL"
          xmlns:xsd1="http://example.com/stockquote.xsd"
          xmlns:soap="http://schemas.xmlsoap.org/wsdlWSDL/soap/"
          xmlns="http://schemas.xmlsoap.org/wsdlWSDL/">

<types> 
<schema targetNamespace="http://example.com/stockquote.xsd" xmlns="http://www.w3.org/2000/10/XMLSchema">
<element name="TradePriceRequest">
<complexType>
<all>
<element name="tickerSymbol" type="string"/>
</all></complexType>
</element><element name="TradePrice"> 
<complexType> 
<all> 
<element name="price" type="float"/></all></complexType>
</element></schema></types>

 <message name="GetLastTradePriceInput"><part name="body" element="xsd1:TradePriceRequest"/>message>
<message name="GetLastTradePriceOutput"><part name="body" element="xsd1: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"> 
<port name="StockQuotePort" binding="tns:StockQuoteSoapBinding"> 
<soap:address location="http://example.com/stockquote"/> 
</port> </service>

</definitions>

<?xml version="1.0" encoding="utf-8" ?> 
<description 
	xmlns="http://www.w3.org/2005/08/wsdlWSDL» 
	targetNamespace=»http://example.com/stockquote.wsdlWSDL» 
	xmlns:tns=»http://example.com/stockquote.wsdlWSDL» 
	xmlns:soap=»http://www.w3.org/2003/05/soap-envelope» 
	xmlns:xsd1=»http://example.com/stockquote.xsd» 
	xmlns:wsoap=»http://www.w3.org/2006/01/wsdlWSDL/soap» 
	xmlns:wsdlWSDLx=»http://www.w3.org/2006/01/wsdlWSDL-extensions»> 

<types>
<schema targetNamespace=»http://example.com/stockquote.xsd» xmlns=»http://www.w3.org/2000/10/XMLSchema»>
<element name=»TradePriceRequest»>
<complexType><all>
<element name=»tickerSymbol» type=»string» />
</all></complexType></element> 
<element name=»TradePrice»><complexType>
<all><element name=»price» type=»float» />
</all></complexType></element> </schema></types>

<interface name=»StockQuotePortType»>
<operation name=»GetLastTradePrice» 
pattern=»http://www.w3.org/2006/01/wsdlWSDL/in-out" style="REQUEST_RESPONSE">
<input messageLabel="In" element="xsd1:TradePriceRequest" />
<output messageLabel="Out" element="xsd1:TradePrice" />
</operation></interface>

<binding name="StockQuoteSoapBinding" interface="tns:StockQuotePortType" 
type="http://www.w3.org/2006/01/wsdlWSDL/soap"
 wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"> 
<operation ref="tns:GetLastTradePrice" wsoap:mep= "http://www.w3.org/2003/05/soap/mep/soap-response" />
</binding>
    	
<service name="StockQuoteService" interface="tns:StockQuotePortType"> 
<endpoint name="StockQuotePort" binding="tns:StockQuoteSoapBinding" address="http://example.com/stockquote" />
</service>

</description>