SOAP is the acronym for Simple Object Access Protocol. It is defined by World Wide Web Consortium (W3C) at https://www.w3.org/TR/2000/NOTE-SOAP-20000508 as follows −
SOAP is a lightweight protocol for the exchange of information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it; a set of encoding rules for expressing instances of application-defined data types; and a convention for representing remote procedure calls and responses.
Following are some important features of SOAP.
It is a communication protocol designed to communicate via Internet.
It can extend HTTP for XML messaging.
It provides data transport for Web services.
It can exchange complete documents or call a remote procedure.
It can be used for broadcasting a message.
It is both platform and language independent.
It is the XML way of defining what information is sent and how.
It enables client applications to easily connect to remote services and invoke remote methods.
Although SOAP can be used in a variety of messaging systems and can be delivered via a variety of transport protocols, the initial focus of SOAP is remote procedure calls transported via HTTP. Other frameworks such as CORBA, DCOM, and Java RMI provide similar functionality to SOAP, but SOAP messages are written entirely in XML and are therefore uniquely platform- and language-independent.