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 HTML and SMTP for notations and transmission. SOAP allows processes to communicate throughout platforms, languages and operating systems, 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.
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 three parts
It specifies that the XML message is a SOAP message. A SOAP message can be defined as an XML document containing header and body encapsulated in the envelope. The fault is within the body of the message.
This part is not mandatory. But when it is present it can provide crucial information about the applications.
It contains the actual message that is being transmitted. Fault is contained within the body tags.
This section contains the status of the application and also contains errors in the application. This section is also optional. It should not appear more than once in a SOAP message.
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).