OASIS ebXML Messaging Services TC

 View Only

More on SOAP intermediary model

  • 1.  More on SOAP intermediary model

    Posted 06-10-2009 23:59
    
    
    
    
    
    ---------------- 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