SOAP
SOAP Introduction
SOAP is a XML based end-to-end application layer protocol. SOAP messages are used when message-level security is desired. The message contains all the necessary information to protect itself and can contain optional Quality Of Service (QOS) attributes (for reliable messaging, transactions, security, etc). This meta-data information is recorded as a part of SOAP Message header. With security information in the message header, end to end security can be enforced as compared to Transport Layer Security (TLS/SSL) which is hop to hop. SOAP requests are “envelopes” of specially formatted XML data posted to a URL. You can find out more about SOAP at www.w3.org/TR/soap/.
Example SOAP-Envelope
1 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
2 <SOAP-ENV:Envelope
3 SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
4 xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
5 xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
6 xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
7 xmlns:xsd="http://www.w3.org/1999/XMLSchema">
8 <SOAP-ENV:Body>
9 <ns1:getEmployeeDetails
10 xmlns:ns1="urn:MySoapServices">
11 <param1 xsi:type="xsd:int">1016577</param1>
12 </ns1:getEmployeeDetails>
13 </SOAP-ENV:Body>
14 </SOAP-ENV:Envelope>
Advantages with SOAP
Using SOAP over HTTP allows for easier communication through proxies and firewalls than previous remote execution technology.
- SOAP is versatile enough to allow for the use of different transport protocols. The standard stacks use HTTP as a transport protocol, but other protocols are also usable (e.g., SMTP).
- SOAP is platform independent.
- SOAP is language independent.
- SOAP is simple and extensible.
SOAP Toolkits for your language
We have dedicated a wiki-page for different SOAP toolkits