Basics of SOAP – Simple Object Access Protocol

Introduction:
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.

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 three parts

  1. Envelope:
    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.
  2. Header:
    This part is not mandatory. But when it is present it can provide crucial information about the applications.
  3. Body:
    It contains the actual message that is being transmitted. Fault is contained within the body tags.
  4. Fault:
    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.

Sample Message:

filter_none

edit
close

play_arrow

link
brightness_4
code

Content-Type: application/soap+xml
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
    <env:Header>
        <m:GetLastTradePrice xmlns:m="Some-URI" />
    </env:Header>
    <env:Body>
        <symbol xmlns:p="Some-URI" >DIS</symbol>
    </env:Body>
</env:Envelope>

chevron_right


Source: https://tools.ietf.org/html/rfc4227

    Advantages of SOAP

  1. SOAP is a light weight data interchange protocol because it is based on XML.
  2. SOAP was designed to be OS and Platform independent.
  3. It is built on top of HTTP which is installed in most systems.
  4. It is suggested by W3 consortium which is like a governing body for the Web.
  5. SOAP is mainly used for Web Services and Application Programming Interfaces (APIs).


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. 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.