Herong's Tutorial Notes on Perl - Part B
Dr. Herong Yang, Version 4.11

SOAP::Lite Modules

Part:   1   2  3 

This chapter describes:

  • Quick introduction to SOAP.
  • Overview of SOAP::Lite modules.
  • Introduction to SOAP::Transport::TCP Module and sample SOAP server program.
  • Introduction to SOAP::Lite and sample SOAP client program.
  • How to use the trace feature in SOAP::Lite.

What is SOAP?

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 resquest.
  • 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.

To learn more about SOAP, see my other book: "Herong's Notes on SOAP".

What is SOAP::Lite?

SOAP::Lite - A collection of Perl modules developed by Paul Kulchenko to server as both a SOAP client API package and a SOAP server API package. It offers:

  • SOAP::Lite - Client API.
  • SOAP::Transport::HTTP - Serve API for HTTP transportation, standalone and CGI
  • SOAP::Transport::TCP - Serve API for TCP transportation
  • Server API for other transportation protocols
  • Utilities related to SOAP technology

(Continued on next part...)

Part:   1   2  3 

Dr. Herong Yang, updated in 2006
Herong's Tutorial Notes on Perl - Part B - SOAP::Lite Modules