SOAP defines a concept called an intermediary. According to the SOAP Actor Attribute section of the SOAP 1.1 specification, a SOAP intermediary is an application that is capable of both receiving and forwarding SOAP messages. The intermediary concept is further described in SOAP 1.2. An intermediary can modify the message in passing. For example, you might have an intermediary that encrypts or decrypts a message. An individual header element may specify, using the SOAP Actor attribute, that it is targeted at a specific intermediary. Note that the SOAP Actor element doesn't specify the actual destination, only a relative destination (e.g., next or ultimateReceiver). And the actual message path isn't necessarily specified in the header. Certainly the SOAP specification doesn't define how to specify a message path in a SOAP header.
As part of GXA, Microsoft has defines a SOAP Extension specification called WS-Routing which does provides a mechanism to specify a message path in a SOAP header. But keep in mind that you may not need to specify the complete message path in your SOAP message. Your intermediaries may be smart enough (and in fact it may be there purpose) to figure out where to forward the message to. For example, an intermediary might do content-based routing of messages.
Obviously the architecture supports intermediaries. But perhaps you meant to ask whether or not any SOAP implementations support intermediaries? I don't think very many of the various SOAP implementations support the WS-Routing specification. I believe that Microsoft's and IBM's advanced WSTK tools provide support for WS-Routing. They both support the IBM/MSFT/Verisign WS-Security specification, which relies on WS-Routing. (The forthcoming standard OASIS WSS specification will not rely on WS-Routing, though, since it isn't a standard.)
But as I said, you don't need to specify the message path in your message. Almost all of the Web services management products are implemented as intermediaries, including products by Actional, AmberPoint, Blue Titan, Confluent, Digital Evolution, Flamenco, Grand Central, Infravio, Kenamea, Mindreef, Primordial, Reactivity, Talking Blocks, Vordel, WestBridge, and WestGlobal. When using these products, generally you target your SOAP message to the intermediary, and the intermediary determines where to send the message next.
Dig Deeper on Topics Archive
Related Q&A from Anne Thomas Manes
Anne Thomas Manes explains the differences between open source clients and open source implementations. Continue Reading
Anne Thomas Manes discusses the best way to go about creating an enterprise data dictionary and why the systems works well. Continue Reading
Anne Thomas Manes explains the difference between 'hard' real time and 'live' real time systems. Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.