----------------
from 2007 SOAP12:
SOAP1.2:
- [1.5.2] SOAP intermediary : A SOAP
intermediary is both a SOAP receiver and a SOAP sender and is targetable from
within a SOAP message. It processes the SOAP header blocks targeted at it and
acts to forward a SOAP message towards an ultimate SOAP
receiver.
2.7.1 Relaying SOAP Header
Blocks
The relaying of SOAP header blocks targeted at an
intermediary SOAP node depends on whether the SOAP header blocks are processed
or not by that node. A SOAP header block is said to be reinserted if the
processing of that header block determines that the header block is to be
reinserted in the forwarded message. The specification for a SOAP header block
may call for the header block to be relayed in the forwarded message if the
header block is targeted at a role played by the SOAP intermediary, but not
otherwise processed by the intermediary. Such header blocks are said to be
relayable.
---------------------
- from the above, it appears
that an ebMS intermediary always "processes" (in the SOAP sense) the ebMS
headers used for routing.
- The ebMS intermediary
however does not "relay" these headers, since it has processed them. (the notion
of "relayable" seems to accommodate the case where an intermediary may
decide to not process the header and defer to a subsequent node. This is not our
case).
- it also appears that both
in SOAP12 or SOAP11 schema, there is no defaulting of actor / role to
"next".
-----------------
Consequently: I think
Sander is right. An endpoint needs to add these whenever there are
some expectations that the messages will go through an I-Cloud (works as well if
not).
For SOAP11: @actor="http://schemas.xmlsoap.org/soap/actor/next"
For SOAP12: @role="http://www.w3.org/2003/05/soap-envelope/role/next"
Also :
Replace the previous NOTE
text with:
"Re-insertion" of SOAP
headers is understood here as an operation that preserves the integrity of
signatures. In other words, as an ebMS intermediary - in transparent multihop
mode - does not remove any header, a signature that is valid before forwarding
MUST still be valid after forwarding.
re-insertion is a notion that
is described in both SOAP 11 and 1.2.
Jacques