SOAP API (Simple Object Access Protocol)
SOAP is a protocol for messaging that allows programs to run on different operating systems such as Linux and Windows for communication using Hypertext Transfer Protocol (HTTP) and its Extensible Markup Language (XML).
SOAP specifies exactly how to encode an HTTP header and an XML file so that a program in one computer can call a program in another computer and pass along information. SOAP also specifies how the called program can return a response.
SOAP defines the XML-based message format that Web service-enabled applications use to communicate and inter-operate with each other over the Web.
SOAP building blocks
SOAP building blocks consist of a SOAP Message.
A SOAP message is an ordinary XML document. It contains the following elements.
An Envelope element – It identifies the XML document as a SOAP message.It is the mandatory element in the SOAP message and is used to encapsulate all of the data in the SOAP message.
A Header element – It contains header information,such as authentication information or the definition of complex data types.
A Body element – It contains call and response information,is the main element which contains the definition of the web methods along with any parameter information if required.
A Fault element – It contains errors and status information
Standard SOAP message:
<soap:Header> <!– optional –>
<!– header blocks go here… –>
<!– payload or Fault element goes here–>
Features of SOAP
SOAP is a communication protocol and it is used for communication between applications
SOAP is a format for sending messages
SOAP communicates thorough Internet
SOAP allows for any programming model.
SOAP is platform independent and language independent. That is SOAP can used in any languages.
SOAP is based on XML
Extensibility: – SOAP is simple and extensible
Neutrality: -SOAP can be used over any transport protocol such as HTTP, SMTP, TCP.
SOAP is a W3C recommendation.
SOAP as a lightweight protocol:-
It permits applications to pass messages and data back and forth between different systems in a distributed environment enabling remote method invocation. It means SOAP protocol possesses only two fundamental properties. They are,
Send and receive HTTP transport protocol packets.
Process XML messages.
Advantages of SOAP API :
Language, platform, and transport independent.
Works well in distributed enterprise environments.
Provides significant pre-build extensibility.
Built-in error handling.