Re: Issue 7 convo from Melbourne

I have just realized that my proposed rules have an issue with regards
to intermediaries:

* Hugo Haas <hugo@w3.org> [2005-02-24 13:26+0100]
[..]
> Here is a version 2 of my proposal (reordered, improved, and
> condensed):
> 
> 1. Make the [reference parameters] message addressing property's XML
>    Infoset representation in Core's section 3.1 the following, which
>    was the second rule of the SOAP binding:
> 
>     /[reference parameters]*
> 
>      Each element information item of found in [reference parameters]
>      (including all of its [children], [attributes] and [in-scope
>      namespaces]) is represented as is.
> 
> 2. Define the following as the first rule of the SOAP binding when
>    _sending_ a message:
> 
>     1. All the message addressing properties are serialized as SOAP
>        header blocks using their XML Infoset representation defined in
>        Core section 3.1 XML Infoset Representation of Message
>        Addressing Properties.
> 
>     2. Each SOAP header block resulting from a [reference parameters]
>        is annotated with a wsa:Type attribute whose value is
>        "parameter".
> 
> 3. Add the following rules when _receiving_ a SOAP message:
> 
>      1. The value of each message addressing property takes the value
> 	from the corresponding SOAP header block in the wsa namespace
> 	targeted at the node which matches the XML Infoset
> 	representation described in Core section 3.1.
> 
>      2. Each such SOAP header block annotated with a wsa:Type
> 	attribute whose value is "parameter" is added to the content
> 	of the [reference parameters] MAP, without the wsa:Type
> 	attribute.
> 
>      3. The SOAP header blocks annotated with a wsa:Type attribute
> 	whose value is "parameter" targeted at the node are processed
> 	as normal SOAP headers as per SOAP processing model. Note that
> 	these headers are resulting from the serialization of an EPR's
> 	[reference parameters] property, and may require additional
> 	security and sanity checks by the SOAP received.

For an intermediary, i.e. receiving and then sending the SOAP message
after processing, [reference parameters] according to the above rules
will be consumed and always replied:
- the message is received (change 3 above)
  - ref params headers are stored in the [reference parameters] MAP
    (rule 3-2)
  - ref params headers are processed (rule 3-3)
- then, the message is sent follows its path to the ultimate receiver
  (change 2 above)
  - [reference parameters] stored during rule 3-2 are reinserted

So maybe rule #2 when receiving a SOAP message should just be dropped.
In other words, the [reference parameters] is *not* populated when
receiving a message.

Comments?

-- 
Hugo Haas - W3C
mailto:hugo@w3.org - http://www.w3.org/People/Hugo/

Received on Thursday, 24 February 2005 13:49:45 UTC