Professional Documents
Culture Documents
WSDL 1.1 - : Praveen Mukkala
WSDL 1.1 - : Praveen Mukkala
WSDL 1.1 - : Praveen Mukkala
- Praveen Mukkala
History of WSDL
» WSDL 1.1 was co-submitted to W3C by
Microsoft, IBM, SAP and others in 2001
Service
Registry
Find Publish
Reque Provid
stor er
Bind
Service Description
a) Functional Description
b) Non-Functional description
Functional Description
This component details the syntax of the message, end
point details, message style and use, operations available
for the client to invoke. It is further decomposed into two
sections:
abstract interface
portType
abstract
abstract operation
message
Concrete
implementation
binding
concrete
concrete operation
message
concrete endpoint
service
port
Structure of a WSDL
The root element of a WSDL Document is 'definitions' element.
» Eg:
<portType name="PriceCheckPortType">
<operation name="checkPrice">
<input message="pc:PriceCheckRequest" />
<output message="pc:PriceCheckResponse" />
</operation>
</portType>
<message name="PriceCheckResponse">
<part name="result" element="avail:StockAvailability" />
</message>
part element
Parts mechanism in WSDL allows a message to be
decomposed into smaller units.
<operation name="checkPrice">
<soap:operation
soapAction="http://thbs.com/services/PriceCheck/checkP
rice" />
<input><soap:body use="literal" /></input>
<output><soap:body use="literal" /></output>
</operation>
</binding>
Determining the Protocol details
» Examine the namespace of the first child
element. In the above example, binding is
related to the SOAP messaging protocol.
<output>
<soap:body use="literal" />
</output>
port element
» Used for specifying the network address or end point
details where the WebService is running
» A WSDL can contain multiple service elements, however only one service
element will be specified in a given WSDL.
<service name="PriceCheck">
<port name="PriceCheck" binding="pc:PriceCheckSOAPBinding">
<soap:address location="http://thbs.com/services/PriceCheck" />
</port>
</service>
» Usually the first element of any WSDL element will start with
documentation tag.
E.g.:
<service name="PriceCheck">
<port name="PriceCheck" binding="pc:PriceCheckSOAPBinding">
<documentation>
<wsi:Claim conformsTo=http://ws-I.org/profiles/basic/1.0 />
</documentation>
<soap:address location="http://thbs.com/services/PriceCheck" />
</port>
</service>
import element
» WSDL defines import element that allows WSDL
documents to be linked together.
» Request-Response Operations
» One-Way Operations
» Notification Operations
» Solicit-Response Operations
Request-Response Operations
» This is the most commonly used operations which have an input
message to the service provider followed by an output message
with an optional collection of fault messages.
<operation name=“cancellation”>
<input message=“myNs:CancelOrder”/>
</operation>
» Since many web services are SOAP over HTTP, many one way
operations using HTTP end up being req-res messages at the
network transport level with the response being an HTTP level
acknowledgement.
Challenges to Implement:
Implementation Challenges
» WSDL do not mention any mechanism to implement
notification operations. One solution to address this
problem is to have a network address or a service
address (where the client would listen to)as a parameter
in another message. So clients should initiate that
request-reply or one-way operation first and then invoke
this operation.