Simple Object Access Protocol i.e. SOAP is a W3C recommended communication protocol which runs over http. This is platform and language independent and works on the XML standards. Distributed application talk to each other using Remote Procedure Calls between objects like DCOM or CORBA, but then issues like firewalls and proxy server needs to be addressed. SOAP was result of these entanglements and uses http which runs on every browser and thus on any platform.
Fundamental Constructs of SOAP
A SOAP message is a XML document which needs to have following four types of element
-> An Envelope element (to notify that the XML is a SOAP message).
This is the root of a SOAP message and will look like

The value of the Namespace has to be http://www.w3.org/2001/12/soap-envelop else it will throw an error.
The encodingStyle cannot have a default attribute and is used to define the data types which is there in the document.
-> A Header element.
This is an optional element but if present becomes the first child element of the envelope element.
-> A Body element.
This contains the message intended to the actual endpoint.
-> A Fault element (to contain error and status prompts).
This is also option but if present appears only once in the SOAP message. It has four four sub elements such as faultcode, faulstring, faultactor and detail.
Some basic rules for forming a SOAP message are as follows:
-> Encoding using XML.
-> Usage of SOAP Envelope Namespace.
-> Usage of SOAP Encoding Namespace.
-> Not to apply any DTD reference or XML processing instructions.
A dummy SOAP message would look like

HTTP Binding
Its communicates over TCP/IP where a HTTP client connects with a HTTP server over TCP. After a connection being established for every HTTP request there is a HTTP response. The standard success code is 200 and for every bad or unsuccessful processing the code is 400
A typical HTTP request may look like
POST /item HTTP/1.1
Host: 180.103.245.139
Content-Type: text/plain
Content-Length: 200
and it can have a success response as
200 OK
Content-Type: text/plain
Content-Length: 200
or a unsuccessful response as
400 Bad Request
Content-Length: 0
Dummy SOAP message


Conclusion
SOAP is a highly recommended communication protocol by W3C which is designed to interact seamlessly with a webservice.