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).
- Difference between REST API and SOAP API
- PHP | Type Casting and Conversion of an Object to an Object of other class
- How to select first object in object in AngularJS?
- XML | Basics
- XMPP Protocol
- Node | URL.protocol API
- Basics of phpMyAdmin
- HTML | Basics
- HTML | SVG-Basics
- Node.js | Basics
- Laravel | Controller Basics
- Basics of the Blockchain and its various applications
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.