next up previous contents
Next: Error Handling Up: SOAP - Simple Object Previous: SOAP - Simple Object   Contents

Message Passing

Fulfilling tasks in a distributed computing environment may involve more than only two nodes. A simple client-server model will not suffice for more complex tasks. A simple example would be an automated home where a light bulb breaks and the system automatically orders a replacement. To accomplish the order, a SOAP message is generated by the node that is responsible for the light. This message contains the type of the needed replacement. The SOAP message is then forwarded to a main system where appropriate data is added to the original message, like the name and address of the customer and is then forwarded to a Web Service at the service center that processes the request and confirms the order.

To accomplish this desired behavior, SOAP messages have to be capable of traveling through several nodes that may modify the SOAP body until it reaches its final destination. Therefore a special XML element in the header, called ``SOAPActor'', is provided by the SOAP definition. Each node that the SOAP message has to pass is listed in the SOAP header element that contains a suitable SOAPActor16 element. Whenever a node receives a SOAP message that contains a header field with a matching SOAPActor, it processes the request, removes the appropriate header element, modifies the SOAP body and forwards the altered message to the next actor or node. This procedure continues until the SOAP message reaches its final destination as depicted in figure 12.

Figure 12: SOAP messages travel along multiple SOAP nodes
\begin{figure}\centering
\includegraphics[scale=0.7]{graphics/soap-actor.eps}\end{figure}


next up previous contents
Next: Error Handling Up: SOAP - Simple Object Previous: SOAP - Simple Object   Contents
Hermann Himmelbauer 2006-09-27