SOAP Distributed Processing Model
This section describes the SOAP processing model - SOAP messages are distributed from one node to another node.
The SOAP processing model is a distributed processing model, where a SOAP message originated at an SOAP initial node
is sent to an ultimate SOAP node via zero or more SOAP intermediate nodes.
The processing responsibilities are distributed on the intermediate nodes and the ultimate node.
The SOAP processing model is very open, with only a small number of rules:
- A SOAP node must act in one or more SOAP roles.
- A SOAP header block can be specified to target at one particular SOAP role.
- A SOAP header block can be specified to require a SOAP node who is acting in the specified role "must understand".
In this case, this SOAP node must process this header block.
- A SOAP ultimate node must process the body element.
- Any SOAP node can process any header blocks and/or the body element in any order.
- After processing the message, any SOAP node may generate a SOAP fault message in case of process error,
or terminate the entire processing if needed.
- After processing the message, a SOAP intermediate node may relay the message to the next node, if needed.
In case of relaying a SOAP message, a SOAP intermediate node must follow these rules:
- It must remove all processed header blocks. But it can reinsert them back into the message.
- It must remove all not-processed header blocks that specified as non-relayable. But it can reinsert them back into the message.
- It must retain all not-processed header block that specified as relayable.
- It may insert new header blocks.
- It may alter almost everything in the header element.
- It may not alter anything in the body element.
Of course, SOAP extended features can specify additional processing rules.
Table of Contents
About This Book
Introduction to Web Service
Introduction to SOAP (Simple Object Access Protocol)
SOAP Message Structure
►SOAP Message Transmission and Processing
SOAP Protocol Binding
►SOAP Distributed Processing Model
SOAP Features and Modules
SOAP Data Model
SOAP RPC Presentation
SOAP Properties Model
SOAP MEP (Message Exchange Patterns)
SOAP HTTP Binding
SOAP PHP Implementations
PHP SOAP Extension Client Programs
PHP SOAP Extension Server Programs
PHP SOAP Web Service Example - getTemp
SOAP Perl Implementations
Perl SOAP::Lite - SOAP Server-Client Communication Module
Perl Socket Test Program for HTTP and SOAP
Perl SOAP::Lite for NumberToWords SOAP 1.1 Web Service
Perl SOAP::Lite for SOAP 1.2 Web Services
Perl SOAP::Lite for WSDL
Python SOAP Client: Zeep
SOAP Java Implementations
Java Socket and HttpURLConnection for SOAP
SAAJ - SOAP with Attachments API for Java
SoapUI - SOAP Web Service Testing Tool
WS-Security - SOAP Message Security Extension
WS-Security X.509 Certificate Token
Perl SOAP::Lite for GetSpeech SOAP 1.1 Web Service
Perl SOAP::Lite 0.710 for SOAP 1.2 Web Services
Perl SOAP::Lite 0.710 for WSDL
Web Services and SOAP Terminology
Full Version in PDF/EPUB