Simple Object Access Protocol, commonly abbreviated as SOAP is an extensible Markup Language or XML based messaging protocol, which is a cluster of set, structures messages, which can be used in two ways: for one-way messaging or for performing RPC-style (Remote Procedure Call) request-response dialogue. Not tied to any particular transport protocol, nor it is tied to any particular operating system, hence its clients and servers can run it on any platform and can be written in any varied language as long as they can comprehend and understand the SOAP messages. But having said, it is one of the most important building blocks for developing distributed applications that can extract functionality over an intranet or on internet.
One of the main advantages of leveraging SOAP is that the requests which are used are actually quite easy to generate, which ensures that a client with the basic necessary technical knowledge can process these responses with much ease. It also enables one application to become a programmatic client for another application’s services, so that both can exchange rich and structured information safely without any hassle at all. SOAP helps in providing its clients with a robust programming model which turns the Internet into a dynamic platform for the development of applications which is possible because of its excellent ability to aggregate some of the most powerful and distributed Web services.
SOAP works using a specified set XML-based standard which is used to encode requests and responses. The steps involved in the process are:
l Requests to invoke a method on a service
l Responses from a service method
l Errors from a service
SOAP is based on XML protocol. It has been designed with the purpose of sending and receiving XML information via its processes to ensure a smooth and safe sharing. Whenever a message is sent via SOAP, it is invariably in XML format. It is made up of three different parts – an envelope, a header and a body. The envelope holds the message header and body. It also contains a variety of information which can be required for processing the message, such as a description of the kind of data which is to be found inside the envelope, as well as the necessary information about how that data is to be processed alongside other vital information about the sender and recipient of the message in question.
It is not compulsory for a message in SOAP to contain a header, although for extremely practical reasons, messages will often include them when SOAP is used for its Web services. Information found in headers can be used to perform a variety of functions, which include providing crucial authentication. For ease of use and process, the data found in the headers is usually organized into header blocks and there can be more than one blocks in a header.
The body of a SOAP message is what contains the actual data. This data can be anything. It might be a request for information such as, when a service requestor is looking for a service registry for its Web service. It can also contain a response to any request for information, like when the registry replies to a request with a service descriptor. This data which is found in the body is organized into one or more sub-elements, depending on the information in question.
When it comes to outsourcing your Salesforce API integration it is important to pick one which enables you to automatically copy and save the information in your Salesforce database behind your firewall from where it can be easily backed-up and recovered.
Image Source http://adeptia.com/