Listing 1
POST /TradeSecurity.jws HTTP/1.1
Host: demo.westbridgetech.com
Connection: close
Accept: */*
Content-Length: 1255
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:impl="http://example.com/TradeSecurity.jws-impl"
xmlns:intf="http://example.com/TradeSecurity.jws"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Header>
<wsu:Timestamp xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility">
<wsu:Created>2003-10-31T18:46:56Z</wsu:Created>
<wsu:Expires>2003-10-31T18:47:06Z</wsu:Expires>
</wsu:Timestamp>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext"
SOAP-ENV:actor="http://tempuri.org/" SOAP-ENV:mustUnderstand="1">
...
</wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<m:BuySecurity xmlns:m="http://example.com/TradeSecurity.jws"
SOAP-ENV:encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/">
<tickerSymbol xsi:type="xsd:string">XXX</tickerSymbol>
<amount xsi:type="xsd:string">1212</amount>
</m:BuySecurity>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Listing 2a
<definition name="Support" targetNamespace="http://example.com/InternalSupport"
xmlns:tns="http://example.com/InternalSupport"
xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext">
<message name="SubmitIssueInput">
<part name="contact" type="xsd:string"/>
<part name="component" type="xsd:integer"/>
<part name="description" type="xsd:string"/>
</message>
...
<portType name="Support">
<operation name="SubmitIssue">
<input message="tns:SubmitIssueInput"/>
...
</operation>
<operation name="ListOpenIssues">
...
</operation>
<operation name="AssignIssue">
...
</operation>
</portType>
<binding name="SupportBinding" type="tns:Support">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="SubmitIssue">
<soap:operation soapAction="submit"/>
<input>
<soap:body use="encoded" namespace="http://example.com/Support"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
...
</operation>
...
</binding>
<service name="SupportService">
<port name="Support" binding="tns:SupportBinding">
<soap:address location="http://internalserver/Support"/>
</port>
</service>
</definition>
Listing 2b
<definition name="Support" targetNamespace="http://example.com/PurchaseOrders"
xmlns:tns="http://example.com/PurchaseOrder"
xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema targetNamespace="urn:purchaseProcessing">
<element name="PurchaseOrder"/>
</schema>
</types>
<message name="PurchaseOrderInput">
<part name="body" element="po:PurchaseOrder"/>
</message>
<portType name="OrderProcessing">
<operation name="SendPurchaseOrder">
<input message="tns:PurchaseOrderInput"/>
</operation>
<operation name="ChangeOrder">
...
</operation>
<operation name="CancelOrder">
...
</operation>
</portType>
<binding name="POBinding" type="tns:OrderProcessing">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="SendPurchaseOrder">
<soap:operation soapAction="send"/>
<input>
<soap:body parts="body" use="literal"/>
</input>
...
</operation>
...
</binding>
<service name="OrderProcessing">
<port name="PurchasePort" binding="tns:POBinding">
<soap:address location="http://internalserver/PurchaseOrders"/>
</port>
</service>
</definition>
Listing 3a
<definition name="Combined" targetNamespace="http://example.com/CustomerSupport"
xmlns:tns="http://example.com/PurchaseOrder"
xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl">
<types>
<schema targetNamespace="urn:purchaseProcessing">
<element name="PurchaseOrder"/>
</schema>
<schema targetNamespace="http://example.com/identity">
<element name="username" type="xsd:string"/>
<element name="password" type="xsd:string"/>
</schema>
</types>
<message name="PurchaseOrderInput" xmlns:id="http://example.com/identity">
<part name="username" element="id:username"/>
<part name="password" element="id:password"/>
<part name="body" element="po:PurchaseOrder"/>
</message>
<message name="SubmitIssueInput">
<part name="username" type="xsd:string"/>
<part name="password" type="xsd:string"/>
<part name="contact" type="xsd:string"/>
<part name="component" type="xsd:integer"/>
<part name="description" type="xsd:string"/>
</message>
<portType name="Combo">
<operation name="SendPurchaseOrder">
<input message="tns:PurchaseOrderInput"/>
...
</operation>
<operation name="SubmitIssue">
<input message="tns:SubmitIssueInput"/>
...
</operation>
</portType>
<binding name="binding" type="tns:Combo">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="SendPurchaseOrder">
<soap:operation style="document" soapAction="send"/>
<input>
<soap:body use="literal"/>
</input>
...
</operation>
<operation name="SubmitIssue">
<soap:operation style="rpc" soapAction="submit"/>
<input>
<soap:body use="encoded" namespace="http://example.com/Support"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
</operation>
</binding>
<service name="AcmeSpecialService">
<port name="AcmePort" binding="tns:Combo">
<soap:address location="https://example.com/AcmeServices"/>
</port>
</service>
</definition>
Listing 3b:
<definition name="Combined" targetNamespace="http://example.com/ZenithServices"
xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/"
xmlns:tns="http://example.com/PurchaseOrder"
xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext">
<types>
<xsd:schema targetNamespace="urn:purchaseProcessing">
<xsd:element name="PurchaseOrder"/>
</xsd:schema>
<xsd:schema targetNamespace="http://example.com/PurchaseOrders">
<xsd:import namespace="http://schemas.xmlsoap.org/ws/2002/04/secext"/>
<xsd:import namespace="http://ws-i.org/schemas/conformanceClaim"/>
</xsd:schema>
<xsd:schema targetNamespace="http://example.com/Support">
<xsd:element name="SubmitIssue">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="contact" type="xsd:string"/>
<xsd:element name="component" type="xsd:integer"/>
<xsd:element name="description" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</types>
<message name="PurchaseOrderInput">
<part name="body" element="po:PurchaseOrder"/>
</message>
<message name="SubmitIssueInput">
<part name="body" element="sup:SubmitIssue"/>
</message>
<message name="ws-security">
<part name="header" element="wsse:Security"/>
</message>
<message name="wsi-basic">
<part name="header" element="wsi:Claim"/>
</message>
<portType name="Combo">
<operation name="SendPurchaseOrder"></operation>
<operation name="SubmitIssue"> ... </operation>
<operation name="ListOpenIssues"> ... </operation>
<operation name="ChangeOrder"> ... </operation>
</portType>
<binding name="binding" type="tns:Combo">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="SendPurchaseOrder">
<soap:operation style="document" soapAction="send"/>
<input>
<soap:body parts="body" use="literal"/>
<soap:header message="tns:ws-security" part="header"/>
<soap:header message="tns:wsi-basic" part="header"/>
</input>
...
</operation>
<operation name="SubmitIssue">
<soap:operation style="document" soapAction="submit"/>
<input>
<soap:body use="literal" namespace="http://example.com/Support"/>
</input>
...
</operation>
...
</binding>
<service name="ZenithSpecialServices">
<port name="ZenithPort" binding="tns:Combo">
<documentation>
<wsi:Claim conformsTo="http://ws-i.org/profiles/basic/1.0"/>
</documentation>
<soap:address location="https://example.com/ZenithWebServices"/>
</port>
</service>
</definition>