WSDL files define the interface to a web service. To consume a web service, you access the service's WSDL file to determine information about it. If you publish your application logic as a web service, you must create a WSDL file for it.
WSDL is a draft standard supported by the World Wide Web Consortium. You can access the specification at the following URL:
A WSDL file takes practice to read. You can view the WSDL file in a browser, or you can use a tool such as Dreamweaver MX, which contains a built-in utility for displaying WSDL files in an easy-to-read format.
The following example shows a WSDL file for the BabelFish web service:
<?xml version="1.0" ?>
<definitionsname="BabelFishService"
xmlns:tns="http://www.xmethods.net/sd/BabelFishService.wsdl"
targetNamespace="http://www.xmethods.net/sd/BabelFishService.wsdl"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<messagename="BabelFishRequest">
<part name="translationmode" type="xsd:string" />
<part name="sourcedata" type="xsd:string" />
</message>
<messagename="BabelFishResponse">
<part name="return" type="xsd:string" />
</message>
<portTypename="BabelFishPortType">
<operationname="BabelFish">
<input message="tns:BabelFishRequest" />
<output message="tns:BabelFishResponse" />
</operation>
</portType>
<bindingname="BabelFishBinding" type="tns:BabelFishPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
<operationname="BabelFish">
<soap:operation soapAction="urn:xmethodsBabelFish#BabelFish" />
<input>
<soap:body use="encoded" namespace="urn:xmethodsBabelFish" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded" namespace="urn:xmethodsBabelFish" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
</binding>
<servicename="BabelFishService">
<documentation>Translates text of up to 5k in length, between a variety of languages.</documentation>
<portname="BabelFishPort" binding="tns:BabelFishBinding">
<soap:address location="http://services.xmethods.net:80/perl/soaplite.cgi" />
</port>
</service>
</definitions>
The following are the major components of the WSDL file:
definitions
The root element of the WSDL file. This area contains namespace definitions that you use to avoid naming conflicts between multiple web services.
types
(not shown) Defines data types used by the service's messages.
message
Defines the data transferred by a web service operation, typically the name and data type of input parameters and return values.
port type
Defines one or more operations provided by the web service.
operation
Defines an operation that can be remotely invoked.
input
Specifies an input parameter to the operation using a previously defined message.
output
Specifies the return values from the operation using a previously defined message.
fault
(not shown) Optionally specifies an error message returned from the operation.
binding
Specifies the protocol used to access a web service including SOAP, HTTP GET and POST, and MIME.
service
Defines a group of related operations.
port
Defines an operation and its associated inputs and outputs.

0 comments:
Post a Comment