(Soap: Simple Object Access Protocol)
Simple Object Access Protocol (SOAP) is a lightweight, simple, XML-based protocol designed to exchange structured and solidified information on the Web. Soap can be used in combination with many existing Internet protocols and formats, including Hypertext Transfer Protocol (HTTP), Simple Mail Transfer Protocol (SMTP), and multi-purpose Internet Mail Extension protocol (MIME ). It also supports a large number of applications, from the message system to Remote Process calling (RPC ).Program.
Soap consists of three parts:
Soap encapsulation: it defines a framework that describes the content in a message, who should handle it, and whether it is optional or necessary.
Soap encoding rules: it defines a serialization mechanism for exchanging instances of the data types defined by an application.
Soap RPC: it defines a protocol used to represent remote process calls and responses.
Soap messages are basically unidirectional transmission from the sending end to the receiving end, but they are often combined to execute a mode similar to request/response. All soap messages are encoded in XML format. A soap message is an XML file that contains an essential soap encapsulation package, an optional SOAP header, and a required soap block.
Binding soap to HTTP provides the advantages of using soap styles, scattered flexibility, and HTTP's rich feature libraries. Transmitting soap over HTTP does not mean that soap will overwrite the existing HTTP semantics, but that the soap semantics on HTTP will naturally map to the HTTP semantics. When HTTP is used as the Protocol binding, RPC requests are mapped to HTTP requests, while RPC responses are mapped to HTTP responses. However, using soap on RPC is not limited to HTTP binding.
Soap can also be bound to TCP and UDP protocols.