Simple Object Access Protocol

SOAP is a simple XML-based protocol to let applications exchange information over HTTP. Simply, SOAP is a protocol for accessing a Web Service.

SOAP Building Blocks

A SOAP message is an ordinary XML document containing the following elements:

An Envelope element that identifies the XML document as a SOAP message
A Header element that contains header information
A Body element that contains call and response information
A Fault element containing errors and status information


Syntax Rules

Here are some important syntax rules:

A SOAP message MUST be encoded using XML
A SOAP message MUST use the SOAP Envelope namespace


Sample of SOAP Message


xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="
http://www.w3.org/2001/12/soap-encoding">






SOAP Envelop Element: The SOAP Envelope element is the root element of a SOAP message. This element defines the XML document as a SOAP message.

SOAP Header Element: The SOAP Header element contains header information. This is optional field. SOAP Header element contains application-specific information (like authentication, payment, etc) about the SOAP message. If the Header element is present, it must be the first child element of the Envelope element.

SOAP Body Element: SOAP Body element contains the actual SOAP message.This is required field.

SOAP Fault Element: The SOAP Fault element holds errors and status information for a SOAP message. This is optional field.

Conclusion:

SOAP stands for Simple Object Access Protocol
SOAP is a communication protocol
SOAP is for communication between applications
SOAP is a format for sending messages
SOAP communicates via Internet
SOAP is platform independent
SOAP is language independent
SOAP is based on XML
SOAP is simple and extensible
SOAP allows you to get around firewalls
SOAP is a W3C recommendation
SOAP message MUST be encoded using XML