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/.

About web services

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>
By default, SOAP requests will yield a SOAP response!

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

Also available in: HTML TXT