simple object access protocol (soap) mark h needleman data research associates, inc. zig meeting...
TRANSCRIPT
Simple Object Access Protocol(SOAP)
Mark H Needleman
Data Research Associates, Inc.
ZIG Meeting
December 2000
Background
Developed by IBM, Microsoft, Lotus, and others
Submitted to W3C - Became W3C Note in May 1998
Current Version is 1.1 See: http://www.w3.org/TR/SOAP Input Document to New W3C XML
Protocol Working Group
Design Goals
Simplicity Extensibility Not Exclusive to HTTP - HTTP Binding
defined in Specification Need to expose more of what is being
run on top of HTTP to help Fireall Administrators do better filtering
SOAP Design
Lightweight Information Exchange in a Decentralized Environment
XML Based Envelope/Body Framework for defining
whats in a message and how to process it Encoding Rules Convention for expressing RPC calls and
responses
Sample Soap Message
POST /StockQuote HTTP/1.1Host: www.stockquoteserver.comContent-Type: text/xml; charset="utf-8"Content-Length: nnnnSOAPAction: "Some-URI"
<SOAP-ENV:Envelopexmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><m:GetLastTradePrice xmlns:m="Some-URI"><symbol>DIS</symbol></m:GetLastTradePrice></SOAP-ENV:Body></SOAP-ENV:Envelope>
SOAP Message Embedded in HTTP ResponseHTTP/1.1 200 OK
Content-Type: text/xml; charset="utf-8"Content-Length: nnnn
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/><SOAP-ENV:Body><m:GetLastTradePriceResponse xmlns:m="Some-URI"><Price>34.5</Price></m:GetLastTradePriceResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
SOAP Messaging Models
Request/Response One way Multicast
Why NCIP Did Not Use SOAP
Not an “Official Standard” Uncertainty about support Lack of Deployment Some Ignorance about SOAP Itself Didn’t want to add one more level of
complexity into the mix No good sense of what it would do for us
or what problems it might solve
W3C XML Protocol WG
Developing an Envelope for encapsulating XML - must support distributed extensibility, evolvability, and intermediaries
A convention for the content of the envelope when used for RPC
A mechanism for serializing data A convention for the use of HTTP
XML Protocol WG (2)
Currently defining requirements - expect to publish initial draft soon
Will be coordinating with other activities like IETF work
Doing much of its work publicly - discussions happen on public mailing list