LISTING 1
<definitions>
<!-- All types are defined here -->
<types> ... </types>
<!-- Messages and their parts -->
<message> ... </message>
...
<!-- Abstract endpoints and operations -->
<portType> ... </portType>
...
<!-- Bindings, one per endpoint -->
<binding> ... </binding>
...
<!-- Endpoints at specific addresses -->
<service> ... </service>
...
</definitions>
LISTING 2
<types>
<schema targetNamespace="{example}/stockquote.xsd"
xmlns="http://www.w3.org/1999/XMLSchema">
<element name="TradePriceRequest">
<complexType>
<all>
<element name="symbol"
type="string"/>
</all>
</complexType>
</element>
<element name="TradePriceResponse">
<complexType>
<all>
<element name="price"
type="float"/>
</all>
</complexType>
</element>
</schema>
</types>
LISTING 3
<binding name="StockQuoteSoapBinding"
type="tns:StockQuotePortType">
<soap:binding style="document"
transport="{soaporg}/soap/http"/>
<operation name="GetLastTradePrice">
<soap:operation
soapAction="{example}/GetLastTradePrice"/>
<input>
<soap:body use="literal"
namespace="{example}/stockquote.xsd"
encodingStyle="{soaporg}/soap/encoding/"/>
</input>
<output>
<soap:body use="literal"
namespace="{example}/stockquote.xsd"
encodingStyle="{soaporg}/soap/encoding/"/>
</output>
</operation>
</binding>
LISTING 4
<bindingŠ>
<soap:binding
style="rpc|document" transport="uri">
<operationŠ>
<soap:operation soapAction="uri"?
style="rpc|document"?>?
<input>
<soap:body parts="nmtokens"?
use="literal|encoded"
encodingStyle="uri-list"?
namespace="uri"?>
<soap:header element="qname" fault="qname"?>*
</input>
<output>
<soap:body parts="nmtokens"?
use="literal|encoded"
encodingStyle="uri-list"?
namespace="uri"?>
<soap:header element="qname" fault="qname"?>*
</output>
<fault>*
<soap:fault name="nmtoken" use="literal|
encoded"
encodingStyle="uri-list"?
namespace="uri"?>
</fault>
</operation>
</binding>
LISTING 5
<!-- This is how the abstract input
message is defined -->
<message name="GetCompanyInfoInput">
<!-- Company
ticker symbol is a string -->
<part name="symbol"
type="xsd:string"/>
</message>
Š
<binding name="b1" type="GetCompanyInfoPortType">
<http:binding
verb="GET"/>
<operation
name="GetCompanyInfo">
<http:operation location="GetCompanyInfo"/>
<input>
<http:urlEncoded/>
</input>
<output> Š </output>
</operation>
</binding>
<binding name="b2" type="GetCompanyInfoPortType">
<http:binding
verb="GET"/>
<operation
name="GetCompanyInfo">
<http:operation location="GetCompanyInfo/
(symbol)"/>
<input>
<http:urlReplacement/>
</input>
<output> Š </output>
</operation>
</binding>
<binding name="b3" type="GetCompanyInfoPortType">
<http:binding
verb="POST"/>
<operation
name="GetCompanyInfo">
<http:operation location="GetCompanyInfo"/>
<input>
<mime:content type="application/
x-www-form-urlencoded"/>
</input>
<output> Š </output>
</operation>
</binding>