Perl Tutorials - Herong's Tutorial Examples
Dr. Herong Yang, Version 5.10

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.

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

Table of Contents

 About This Book

 Perl on Linux Systems

 ActivePerl on Windows Systems

 Data Types: Values and Variables

 Expressions, Operations and Simple Statements

 User Defined Subroutines

 Perl Built-in Debugger

 Name Spaces and Perl Module Files

 Symbolic (or Soft) References

 Hard References - Addresses of Memory Objects

 Objects (or References) and Classes (or Packages)

 Typeglob and Importing Identifiers from Other Packages

 String Built-in Functions and Performance

 File Handles and Data Input/Output

 Open Files in Binary Mode

 Open Directories and Read File Names

 File System Functions and Operations

 Converting Perl Script to Executable Binary

 Using DBM Database Files

 Using MySQL Database Server

 Socket Communication Over the Internet

 XML::Simple Module - XML Parser and Generator

 XML Communication Model

SOAP::Lite - SOAP Server-Client Communication Module

What Is SOAP?

 What Is SOAP::Lite?

 SOAP::Transport::TCP - 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

 Perl Programs as IIS Server CGI Scripts

 CGI (Common Gateway Interface)

 XML-RPC - Remote Procedure Call with XML and HTTP

 RPC::XML - Perl Implementation of XML-RPC

 Integrating Perl with Apache Web Server

 References

 Printable Copy - PDF Version

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