Martin Gudgin wrote:
> [snip]
>
> [MJG] How about this? Is wsa:Action is missing then you MUST
> proceed as if you DO NOT understand WS-Addressing. And
> if wsa:Action is present and any other constraints in the spec are
> violated, then you MUST generate a fault.
> The upshot of the first 'MUST' is that during the mU check, if any
> wsa: header is found with mU='true' then a check to make sure
> wsa:Action is present has to occur to determine whether you
> 'understand' that wsa: header. Essentially, understanding
> wsa:Action becomes part of understanding all the other wsa: headers.
>
> This approach has the advantage of producing consistent behaviour
> between WS-A and non-WS-A nodes for messages that DO NOT
> contain wsa:Action.
>
This helps, I think. I continue to be uneasy with using the fact that
Action happens to be the one mandatory property that's also a mandatory
header, but at this point, any port in a storm.
If I read this right, the behavior if wsa:ReplyTo is present, mU false,
and no wsa:Action is present, is that the ReplyTo is silently ignored --
since Action is missing, I have to not understand ReplyTo. This doesn't
seem like a good kind of silent failure, but the client at least has the
option of turning on mU for the ReplyTo if it wants to be safe.
Where would we say this? In the SOAP binding?