- From: Anish Karmarkar <Anish.Karmarkar@oracle.com>
- Date: Fri, 15 Jul 2005 13:00:22 -0700
- To: Marc Hadley <Marc.Hadley@Sun.COM>
- CC: David Hull <dmh@tibco.com>, Martin Gudgin <mgudgin@microsoft.com>, David Orchard <dorchard@bea.com>, Katy Warr <katy_warr@uk.ibm.com>, public-ws-addressing@w3.org
Marc Hadley wrote:
> On Jul 15, 2005, at 10:26 AM, David Hull wrote:
>
>> I'd be less uneasy with something less arbitrary. The rule of
>> understanding (in the SOAP sense) only if a particular header is
>> present is not the first thing that would come to mind, and the basis
>> for choosing this particular header -- it happens to be mandatory and
>> not defaulted in the rules in section 3.2 -- is a crock. This
>> approach also complicates the matrix we came up with in Berlin.
>> Here's a version of that matrix, pretending that only Action and
>> ReplyTo exist.
>>
>> Action
>> ReplyTo
>> Result
>> absent
>> absent
>> Old-style behavior
>> absent
>> present, mU false
>> ReplyTo silently ignored (I don't understand it and I don't have to)
>> absent
>> present, mU true
>> Fault (mandatory header ReplyTo not understood)
>> present, mU=any
>> absent
>> OK, ReplyTo anonymous
>> present, mU=any
>> present, mU = any
>> OK, ReplyTo value used
>>
>> My guess is that the italicized row will have a long and storied career.
>
>
>
> If wsa:Action is absent and and any other WS-Addr header is present
> with mU='false' then the receiving node can either:
>
> (i) Not process the other WS-Addr header and do normal non-WS-Addr
> processing, or
> (ii) Process the other WS-Addr header and in so doing note that there's
> no Action (which is mandatory) and send a WS-Addr 'Message Addressing
> Header Required' fault.
>
> The spec already describes the required cardinality of WS-A headers, if
> a sender wants to make sure that WS-Addr processing happens then it can
> mark one of the WS-Addr headers as mU='true'. I'm not convinced we need
> to say anything else.
>
+1
I'm a little bit baffled over this long email thread and why this is so
confusing. I think Marc's (and Steve's email as well, IIRC) email says
it quite well what the presence or absence of WSA header (and mU values)
mean. The way I see it:
if (mU='1' on any WSA header) //receiver must engage WSA or fault
{
if (receiver does not understand WSA)
{
fault and stop processing the message
}
if (any WSA rule is violated) //including missing wsa:Action
{
fault and stop processing the message
}
process the message as a WSA message
}
else //sender does not mandate WSA, receiver gets to choose
{
if (receiver wants to process the message with WSA engaged)
{
if (any WSA rule is violated) //including missing wsa:Action
{
fault and stop processing the message
}
process the message as a WSA message
}
else
{
ignore all WSA headers, if any
process the message as a non-WSA message
}
}
-Anish
--
<snip/>
Received on Friday, 15 July 2005 20:01:33 UTC