Transcript Slide 1

1
Overview
• SOAP 101
• WSDL 101
2
SOAP 101
• SOAP stands for Simple Object Access
Protocol
• SOAP is a communication protocol
• SOAP is for communication between
applications
• SOAP is a format for sending messages
• SOAP is designed to communicate via
Internet
• SOAP is platform independent
• SOAP is language independent
• SOAP is based on XML
• SOAP is simple and extensible
3
SOAP Skeleton
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope“
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header>
... ...
SOAP Envelope
</soap:Header>
<soap:Body>
SOAP Header
... ...
SOAP Body
<soap:Fault>
Soap Body
... ...
</soap:Fault>
Parameters
</soap:Body>
</soap:Envelope>
4
Example Soap Request
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soa
p-envelope"
soap:encodingStyle="http://www.w3.org/200
1/12/soap-encoding">
<soap:Body
xmlns:m="http://www.stock.org/stock">
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
5
Example Soap Response
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soa
p-envelope"
soap:encodingStyle="http://www.w3.org/200
1/12/soap-encoding">
<soap:Body
xmlns:m="http://www.stock.org/stock">
<m:GetStockPriceResponse>
<m:Price>34.5</m:Price>
</m:GetStockPriceResponse>
</soap:Body>
</soap:Envelope>
6
WSDL 101
• WSDL stands for Web Services
Description Language
• WSDL is written in XML
• WSDL is an XML document
• WSDL is used to describe Web
services
• WSDL is also used to locate Web
services
7
WSDL Elements
A WSDL document describes
What can the service do
Where it resides
How to invoke it
Element
Defines
<portType> The operations performed by the web service
<message> The messages used by the web service
<types>
The data types used by the web service
<binding>
The communication protocols used by the web service
8
WSDL Skeleton
<definitions>
<types> definition of types........
</types> <message> definition of a
message.... </message>
<portType> definition of a port.......
</portType>
<binding> definition of a binding....
</binding>
</definitions>
9
WSDL Example
<message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms"> <operation name="getTerm">
<input message="getTermRequest"/>
<output
message="getTermResponse"/> </operation>
</portType>
10
Next Chapter
• Creating Web Service