Basics of SOAP – Simple Object Access Protocol
Simple Object Access Protocol(SOAP) is a network protocol for exchanging structured data between nodes. It uses XML format to transfer messages. It works on top of application layer protocols like HTTP and SMTP for notations and transmission. SOAP allows processes to communicate throughout platforms, languages, and operating system, since protocols like HTTP are already installed on all platforms. SOAP was designed by Bob Atkinson, Don Box, Dave Winer, and Mohsen Al-Ghosein at Microsoft in 1998. SOAP was maintained by the XML Protocol Working Group of the World Wide Web Consortium until 2009.
Message Format
SOAP message transmits some basic information as given below
- Information about message structure and instructions on processing it.
- Encoding instructions for application-defined data types.
- Information about Remote Procedure Calls and their responses.
The message in XML format contains four parts-
- Envelope: This specifies that the XML message is a SOAP message. A SOAP message is an XML document containing a header and a body, both encapsulated within the envelope. Any fault is included within the body of the message.
- Header: This part is optional. When present, it can provide crucial information about the applications.
- Body: This contains the actual message being transmitted. Faults are contained within the body tags.
- Fault: This optional section contains the status of the application and any errors. It should not appear more than once in a SOAP message.
Sample Message
Content-Type: application/soap+xml
Advantages of SOAP
- SOAP is a light weight data interchange protocol because it is based on XML.
- SOAP was designed to be OS and Platform independent.
- It is built on top of HTTP which is installed in most systems.
- It is suggested by W3 consortium which is like a governing body for the Web.
- SOAP is mainly used for Web Services and Application Programming Interfaces (APIs).