WSDL Document Syntax

The Calculator Web Service WSDL Document

Here is the WSDL document that I built over the course of this chapter:

<?xml version="1.0" encoding="utf-8"?> <definitions targetNamespace="http://somedomain/Calculator/wsdl" xmlns:tns="http://somedomain/Calculator/wsdl"  xmlns:xsd="http://www.w3.org/2001/XMLSchema"  xmlns:s="http://somedomain/Calculator/schema"  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"  xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"  xmlns="http://schemas.xmlsoap.org/wsdl/">   <types>     <schema attributeFormDefault="qualified" elementFormDefault="qualified"      xmlns="http://www.w3.org/2001/XMLSchema"      targetNamespace="http://somedomain/Calculator/schema">       <!-- Definitions for both the Add and Subtract SOAP messages -->       <element name="Add">         <complexType>           <all>             <element name="x" type="int"/>             <element name="y" type="int"/>           </all>         </complexType>       </element>       <element name="AddResult">         <complexType>           <all>             <element name="result" type="int"/>           </all>         </complexType>       </element>       <element name="Subtract">         <complexType>           <all>             <element name="x" type="int"/>             <element name="y" type="int"/>           </all>         </complexType>       </element>       <element name="SubtractResult">         <complexType>           <all>             <element name="result" type="int"/>           </all>         </complexType>       </element>       <!-- Common SOAP fault detail element used by Add and Subtract -->       <element name="CalculateFault">         <complexType>           <all>             <element name="x" type="int"/>             <element name="y" type="int"/>             <element name="Description" type="string"/>           </all>         </complexType>       </element>       <!-- Common result element for HTTP GET/POST binding -->       <element name="Result" type="int"/>     </schema>   </types>   <!-- Messages for SOAP-based Web service -->   <message name="AddMsgIn">     <part name="parameters" element="s:Add"/>   </message>   <message name="AddMsgOut">     <part name="parameters" element="s:SubtractResult"/>   </message>   <message name="SubtractMsgIn">     <part name="parameters" element="s:Add"/>   </message>   <message name="SubtractMsgOut">     <part name="parameters" element="s:SubtractResult"/>   </message>   <message name="CalculateFaultMsg">     <part name="fault" element="s:CalculateFault"/>   </message>   <!-- Messages for HTTP GET/POST-based Web service -->   <message name="AddHttpMsgIn">     <part name="x" type="xsd:string"/>     <part name="y" type="xsd:string"/>   </message>   <message name="AddHttpMsgOut">     <part name="result" element="s:Result"/>   </message>   <message name="SubtractHttpMsgIn">     <part name="x" element="xsd:string"/>     <part name="y" element="xsd:string"/>   </message>   <message name="SubtractHttpMsgOut">     <part name="result" element="s:Result"/>   </message>   <portType name="CalculatorPortType">     <operation name="Add">       <input message="tns:AddMsgIn"/>       <output message="tns:AddMsgOut"/>       <fault message="tns:CalculateFaultMsg" name="CalculateFault"/>     </operation>     <operation name="Subtract">       <input message="tns:SubtractMsgIn"/>       <output message="tns:SubtractMsgOut"/>       <fault message="tns:CalculateFaultMsg" name="CalculateFault"/>     </operation>   </portType>   <!-- SOAP Binding -->   <binding name="CalculatorBinding" type="tns:CalculatorPortType">     <soap:binding style="document"      transport="http://schemas.xmlsoap.org/soap/http"/>     <operation name="Add">       <soap:operation soapAction="http://somedomain/Calculator/Add"/>       <input>         <soap:body use="literal"/>       </input>       <output>         <soap:body use="literal"/>       </output>       <fault>         <soap:fault name="CalculateFault" use="literal"/>       </fault>     </operation>     <operation name="Subtract">       <soap:operation soapAction="http://somedomain/Calculator/Subtract"/>       <input>         <soap:body use="literal"/>       </input>       <output>         <soap:body use="literal"/>       </output>       <fault>         <soap:fault name="CalculateFault" use="literal"/>       </fault>     </operation>   </binding>   <!-- HTTP GET Binding -->   <binding name="CalculatorHttpGetBinding" type="tns:CalculatorPortType">     <http:binding verb="GET"/>     <operation name="Add">       <http:operation location="/Add"/>       <input>         <http:urlEncoded/>       </input>       <output>         <mime:mimeXml part="Body"/>       </output>       <fault>         <mime:mimeXml part="Fault"/>       </fault>     </operation>     <operation name="Subtract">       <http:operation location="/Subtract"/>       <input>         <http:urlEncoded/>       </input>       <output>         <mime:mimeXml part="Body"/>       </output>       <fault>         <mime:mimeXml part="Fault"/>       </fault>     </operation>   </binding>   <!-- HTTP POST Binding -->   <binding name="CalculatorHttpPostBinding" type="tns:CalculatorPortType">     <http:binding verb="POST"/>     <operation name="Add">       <http:operation location="/Add"/>       <input>         <mime:content type="application/x-www-form-urlencoded"/>       </input>       <output>         <mime:mimeXml part="Body"/>       </output>       <fault>         <soap:fault name="CalculateFault" use="literal"/>       </fault>     </operation>     <operation name="Subtract">       <http:operation location="/Subtract"/>       <input>         <mime:content type="application/x-www-form-urlencoded"/>       </input>       <output>         <mime:mimeXml part="Body"/>       </output>       <fault>         <soap:fault name="CalculateFault" use="literal"/>       </fault>     </operation>   </binding>   <service name="CalculatorService">     <port name="CalculatorPort" binding="tns:CalculatorBinding">       <soap:address location="http://somedomain/Calculator"/>     </port>     <port name="CalculatorHttpGetPort" binding="tns:CalculatorHttpGetBinding">       <http:address location="http://somedomain/Calculator"/>     </port>     <port name="CalculatorHttpPostPort" binding="tns:CalculatorHttpPostBinding">       <http:address location="http://somedomain/Calculator"/>     </port>   </service> </definitions>



Building XML Web Services for the Microsoft  .NET Platform
Building XML Web Services for the Microsoft .NET Platform
ISBN: 0735614067
EAN: 2147483647
Year: 2002
Pages: 94
Authors: Scott Short

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net