It should be noted that as SOAP is a XML-based protocol; and
as it is a text based, XML based protocol, it allows data exchange even through
the firewalls. As Web Services rely on SOAP to provide its services to its
consumers via HTTP protocol, a XML Web Service can be consumed by any
application irrespective of its architecture. SOAP has been officially defined
by the W3C group (http://www.w3.org/TR/SOAP)
as a protocol that "provides a simple and lightweight mechanism for
exchanging structured and strongly-typed data between peers in a decentralized,
distributed environment using XML. SOAP does not itself define any application
semantics such as a programming model or implementation specific semantics;
rather it defines a simple mechanism for expressing application semantics by
providing a modular packaging model and mechanisms for encoding application
defined data. This allows SOAP to be used for a large variety of purposes
ranging from messaging systems to Remote Procedure Call (RPC)
invocations."
A SOAP message is composed of:
·
An envelope that defines a framework for describing what is in a
message and how to process it
·
A set of rules for how to handle different data types
·
A convention for representing remote procedure calls
The following is an empty SOAP message that has a root
envelope element and its two child elements, header and body:
Listing 1
<Envelope>
<Header>
This is the optional part of a SOAP message that
contains the information on what the message contains and how it can be
processed
</Header>
<Body>
This is a mandatory part of the SOAP message
and contains data in XML format that is needed to access the interfaces of a
specific object
</Body>
</Envelope>
Please refer to my article An Introduction to Simple Object Access
Protocol for more information on the SOAP protocol.