Simple Object Access Protocol SOAP Mark H Needleman
Simple Object Access Protocol (SOAP) Mark H Needleman Data Research Associates, Inc. ZIG Meeting December 2000
Background n n n Developed by IBM, Microsoft, Lotus, and others Submitted to W 3 C - Became W 3 C Note in May 1998 Current Version is 1. 1 See: http: //www. w 3. org/TR/SOAP Input Document to New W 3 C XML Protocol Working Group
Design Goals n n 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 n n 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 /Stock. Quote HTTP/1. 1 Host: www. stockquoteserver. com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI" <SOAP-ENV: Envelope xmlns: SOAP-ENV="http: //schemas. xmlsoap. org/soap/envelope/" SOAP-ENV: encoding. Style="http: //schemas. xmlsoap. org/soap/encoding/"> <SOAP-ENV: Body> <m: Get. Last. Trade. Price xmlns: m="Some-URI"> <symbol>DIS</symbol> </m: Get. Last. Trade. Price> </SOAP-ENV: Body> </SOAP-ENV: Envelope>
SOAP Message Embedded in HTTP Response HTTP/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: encoding. Style="http: //schemas. xmlsoap. org/soap/encoding/"/> <SOAP-ENV: Body> <m: Get. Last. Trade. Price. Response xmlns: m="Some-URI"> <Price>34. 5</Price> </m: Get. Last. Trade. Price. Response> </SOAP-ENV: Body> </SOAP-ENV: Envelope>
SOAP Messaging Models n n n Request/Response One way Multicast
Why NCIP Did Not Use SOAP n n n 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
W 3 C XML Protocol WG n n 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) n n 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 xml-dist-app@w 3. org
- Slides: 10