SOAP stands for Simple Object Access Protocol. This protocol allows to communicate over the web between the programs (or Web service-enabled applications) running on two different systems using Http and language used by this protocol to communicate is XML (Extensible Markup Language).
The SOAP message is sent in an which is the root element in every message. The SOAP envelope contains two sub elements one is optional while one is mandatory element.
The SOAP header mainly contains the authentication information while body contains the actual information to be passed to receiver.
Following is an example of SOAP structure:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> <soapenv:Header> <tem:UserCredentials> //Method Name <!--Optional:--> <tem:userName>XYZ</tem:userName> //Parameters to be passed for authentication <!--Optional:--> <tem:passWord>123456</tem:passWord> </tem:UserCredentials> </soapenv:Header> <soapenv:Body> <tem:GetRecords> //Method Name to get records <tem:parameterXML>[![CData] <Id>123</Id>]</tem:parameterXML> //SOAP request XML </tem:GetRecords> </soapenv:Body> </soapenv:Envelope>
All the methods and the parameters are defined in Web Services Description Language (WSDL). WSDL is an XML document which describes how to connect and make requests to web service. SOAP messages are the data you transmit, WSDL tells how to make the calls.