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

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.

Last update: 2007.

Sections in This Chapter

SOAP Protocol Binding

SOAP Distributed Processing Model

SOAP Features and Modules

Dr. Herong Yang, updated in 2009
SOAP Distributed Processing Model