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

What Is SOAP?

This section describes what is SOAP (Simple Object Accessing Protocol) - A client-server communication protocol to access remote objects.

SOAP (Simple Object Accessing Protocol) - A client-server communication protocol to allow the client side to accessing programming objects on the server side, and execute methods against those objects, and receiving execution result. All these functionalities are archived by sending and receiving XML messages over various transportation protocols, like TCP, HTTP, FTP, etc.

There are two options for an application program, client side or server side, to use SOAP:

1. Follow the SOAP protocol, and do everything yourself. Here is the communication diagram:

            |  SOAP on TCP   |
Client Prog.|<-------------->|Server Prog.

Here is the steps involved to complet a single SOAP communication:

Step   Client Program           Server Program

1                               Prepare server socket
2                               Listen on server socket
3                               Wait
4      Prepare SOAP request     Wait  
5      Prepare client socket    Wait
6      Connect to server        Connect with client
7      Transmit SOAP request    Receive SOAP request
8      Wait                     Process SOAP request
9      Wait                     Prepare SOAP response
10     Receive SOAP response    Transmit SOAP response
11     Close client socket      Wait

2. Use SOAP client API (Application Program Interface) package to help your client program to:

  • Use SOAP technology with a simple API.
  • Prepare the SOAP request XML message.
  • Transmit the SOAP request.
  • Receive the SOAP response.
  • Parse the SOAP response.

3. Use SOAP server API (Application Program Interface) package to help your server program to:

  • Use SOAP technology with a simple API.
  • Receive the SOAP request XML message.
  • Parse the SOAP request.
  • Prepare the SOAP response XML message.
  • Transmit the SOAP response.

Here is the communication diagram, if you are using SOAP API packages:

Client System                                 Server System

             API            |  TCP/HTTP/...  |            
Client Prog.<--->SOAP Client|<-------------->|TCP/HTTP/... Server
                                                ^
                                                | Attached
                                                v
                                              SOAP Server
                                                ^
                                                | API
                                                v
                                              Server Prog.

Last update: 2007.

Sections in This Chapter

What Is SOAP?

What Is SOAP::Lite?

SOAP::Transport::TCP::Server - SOAP Server with TCP Protocol

SoapTcpClient.pl - SOAP Client Example with TCP Protocol

SOAP::Lite Tracing Functions

SOAP::Transport::HTTP - SOAP Server with HTTP Protocol

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