SOAP, UDDI and WSDL
SOAP
SOAP Specification 3 major parts SOAP envelope specification Defines rules for encapsulating data Method name to invoke Method parameters Return values How to encode error messages in case of failure Data encoding rules Based on W3C XML Schema specification RPC conventions Convention to do RPC Specify a remote method, parameters and receiving a response
SOAP Message SOAP message <Envelope> <Header> Envelope ** Header (Option) </Header> <Body> Body ** <Fault> In case of Fault, fault message resides in body section </Fault> </Body> </Envelope>
SOAP Message Envelope element is a root of every SOAP message Version of SOAP is defined by XML namespace V 1.1 : http://schemas.xmlsoap.org/soap/envelope/ V 1.2 : http://www.w3.org/2003/05/soap-envelope Header element is optional Provide a flexibility for specifying additional requirements 2 attributes Actor : specify the recipient of the SOAP header MustUnderstand : header must be processed if set to true
SOAP Message Body element is mandatory Data/Request/Response Fault element resides in Body element
Request Message Example
Response Message Example
Fault Example
Scalar Types SOAP Encoding
Scalar Types (cont.) Soap Encoding
Example
SOAP Encoding Compound Types Array Specify the type attribute as Array arraytype attribute specify the data type of the elements and dimensions of the array
SOAP Example
SOAP Encoding Compound Type Struct Struct name Field name
Literal Encoding SOAP Encoding
SOAP Interoperability SOAP was specifically designed to solve platform and language interoperability problem SOAP specification was written quite loose (for example looser than schema specification) In reality, there are interoperability issues when using SOAP engines from different software vendors
UDDI
UDDI UDDI 1.0 announced in 2000 In 2001, MS and IBM launched 1 st UDDI sites Consists of 2 parts Technical specification UDDI business registry Implementation of the UDDI specification
UDDI categories White pages General info. of the company Business name Business description Contact information Etc. Address Phone numbers
UDDI categories Yellow pages General classification data for company or service Industry Product Etc.
UDDI categories Green pages Technical information about a web service Pointer to an external specification Pointer to an address for invoking the service
UDDI Technical Consists of 3 parts UDDI data model UDDI API UDDI cloud services
UDDI Data model An XML Schema that describes 4 core types of information businessentity Includes information about actual business Business name, description, address, etc. businessservice Includes information about web service(s) Name, description and optional list of bindingtemplate bindingtemplate Includes information about how and where to access a specific web service tmodel Provides pointer to external technical specification Provides a link to external WSDL
UDDI Data model
UDDI API A SOAP-based protocol for interfacing with the UDDI registry Divided into 2 parts Inquiry API Search and retrieval functionality Publisher API Insert and update functionality
WSDL
WSDL XML grammar for describing web service Divided into 6 major elements definitions Root element of WSDL document types Describes all data types used (XML Schema is default) message Describe a one-way message (single message request or a single message response
WSDL porttype Combines multiple message elements to form a complete operation binding Describes the specifics of how the service will be implemented service Defines the address for invoking the service (URL)
Example
Example (cont.)
Example (cont.)
Example (cont.)
Example (cont.)
Example (cont.)