Herong's Tutorial Notes on Web Service and SOAP
Dr. Herong Yang, Version 3.00

What Is SOAP?

This section provides a quick summary of SOAP protocol.

SOAP is an XML based protocol intended for exchanging structured information in a distributed application environment.

SOAP 1.2 specification is divided into two parts.

SOAP part 1 defines the SOAP messaging framework, which contains the following key concepts:

  • SOAP Message Construct - How a SOAP message should be constructed.
  • SOAP Protocol Binding Framework - How a SOAP message should be bound a communication protocol to carry it from the sender to the receiver.
  • SOAP Processing Model - How a SOAP message should be processed by SOAP receivers.
  • SOAP Extensibility Model - How SOAP can be extended to add SOAP features and SOAP modules.

SOAP part 2 defines a set of adjuncts that can be used to extend the SOAP messaging framework:

  • SOAP Data Model - How data structures and values should be represented as a graph of nodes.
  • SOAP Encoding - How data presented in SOAP Data Model should be encoded as XML data.
  • SOAP RPC Presentation - How Remote Procedure Call (RPC) should be modeled with SOAP.
  • SOAP Convention for Describing Features and Bindings - How SOAP Features and Bindings should be described.
  • SOAP Supplied Features - Commonly used SOAP extensions.
  • SOAP HTTP Binding - How a SOAP message is bound to HTTP.

SOAP is actually a communication protocol that defines how a message should be constructed, transmitted from one node to another, and processed by each node as shown in the following diagram:

SOAP node          
 |
 | Construct an initial SOAP message
 | Bind the initial message for transmission
 | Transmit the initial message
 v
 ----------> SOAP node
              |  
              | Receive the initial message
              | Process some part of the initial message
              | Reconstruct an intermediate SOAP message
              | Bind the intermediate message for transmission
              | Transmit the intermediate message
              v
              ----------> SOAP node
                           |
                           | ...
                           v
                           ----------> SOAP node 
                                        |
                                        | Receive the final message
                                        | Process the final message
                                        v
                                        Done 

Sections in This Chapter

What Is SOAP?

SOAP Communication Example

Dr. Herong Yang, updated in 2007
What Is SOAP?