System Integration Chapter 4-Web Service Technologies: Soap WSDL Uddi
System Integration Chapter 4-Web Service Technologies: Soap WSDL Uddi
System Integration Chapter 4-Web Service Technologies: Soap WSDL Uddi
Registry
(UDDI) Three major roles
Publish
Find Service Provider
(WSDL) Service Registry
(SOAP)
Service Consumer
Service
Service Provider
Requestor
Bind
(SOAP)
SOAP Envelope
SOAP header
<?xml version="1.0"?>
<soap:Envelope xmlns:soap=“ ... ">
<soap:Header>
... ...
</soap:Header>
<soap:Body>
... ...
< … message payload goes here … >
</soap:Body>
</soap:Envelope>
Simple Example – in SOAP
REQUEST
<methodCall>
<methodName>NumberToText</methodName>
<params>
<param>Call
<value><i4>28</i4></value>
</param>
</params>
</methodCall>
Response
<methodResponse>
<params>
<param>
<value>
<string>twenty-eight</string>
</value>
</param>
</params>
</methodResponse>
Another Example
SOAP Request
POST /InStock HTTP/1.1
Host: www.stock.org
Content-Type: application/soap+xml; charset=utf-8 Content-Length: 150
<?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:Body xmlns:m="http://www.stock.org/stock">
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
Response – in SOAP
HTTP/1.1 200 OK
Content-Type: application/soap; charset=utf-8
Content-Length: 126
<?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:Body xmlns:m="http://www.stock.org/stock">
<m:GetStockPriceResponse>
<m:Price>34.5</m:Price>
</m:GetStockPriceResponse>
</soap:Body>
</soap:Envelope>
SOAP Processing
Provider
View Client
Type declarations
Abstract interface Interface declarations
Message declarations
<message name="GetStockPriceRequest">
<part name="stock" type="xs:string"/>
</message>
<message name="GetStockPriceResponse">
<part name="value" type="xs:string"/>
</message>
<portType name=“StocksRates">
<operation name=“GetStockPrice">
<input message=“GetStockPriceRequest"/>
<output message=“GetStockPriceResponse"/>
</operation>
</portType>
UDDI Technology