- From: <noah_mendelsohn@us.ibm.com>
- Date: Fri, 4 Oct 2002 18:15:42 -0400
- To: "Nilo Mitra (EUS)" <Nilo.Mitra@am1.ericsson.se>
- Cc: henrikn@microsoft.com, marc.hadley@sun.com, mgudgin@microsoft.com, moreau@crf.canon.fr, Nilo.Mitra@am1.ericsson.se, www-archive@w3.org
Nilo Mitra asks:
>> I wonder if the MAY in the last quoted part is valid for the case of a
>> SOAP header block with a role attribute of "next". Surely for such
>> blocks, the header block MUST be reinserted, whether this block is
>> processed or ignored. In fact, shouldn't something be mandated
>> regards forwarding for header blocks with a role="next"?
Actually, no. In general, the rule is that whether to reinsert is
determined when you understand and choose to process the header.
Now, I actually do think there is an issue here. It's one that some of us
have been discussing privately, sort of deciding whether to raise it as an
issue. I've owed a few people including Mark Jones, David Fallside, and
Henrik a decision on whether I want to pursue it. Basically: the
question arises, what happens if a non mU header addressed to next is not
understood at some intermediary stop. The draft rec is clear that it
disappears from the relayed message, for the reason you question above. It
could not possibly be processed, since it's not understood; it doesn't
have to be processed, because it's not mU; it is definitely removed
(except on the off chance that processing of some other feature causes it
to stay) because it's addressed to the node and not processed.
The potential question is: what if I want to create a header with the
following characteristics:
* it can be processed at any node.
* the default is that it not disappear (as you essentially propose
above)
I think it is nearly essential that this be possible. There are several
ways one might imagine getting it. Some clearly would change our rec. For
example, I've always found the "remove and reinsert" rule unduly tricky
and would be just as happy to have a default that says "leave it if you
don't process it." Another change to the rec would be a controlling
attribute soapenv:removeIfNotProcessd, or some such. I think I've
understood Henrik to say in private conversation: "if you make up your
own role name and send to that, you essentially have permission to change
the processing rules on this for the role", essentially because if you
don't know what the role is, you don't play it, and the header will
survive.
I'm sort of torn about whether I think Henrik's approach is the right one.
Add to that a real reluctance to raise formally any issues unless
something is truly and provably broken, and I've been dragging my feet.
about this.
So, this same analysis should probably go on distApp, but as I say, I've
been holding off until I can figure out whether I should say "this is
broken and needs fixing" vs. "we noticed this but we think it's OK."
Advice and help most welcome.
Having said all of that, I think the status quo is clear, and it's that
you remove the header if it's targeted to you (including next), and
reinserted only if some explicit processing has that result.
------------------------------------------------------------------
Noah Mendelsohn Voice: 1-617-693-4036
IBM Corporation Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------
"Nilo Mitra (EUS)" <Nilo.Mitra@am1.ericsson.se>
10/04/02 03:47 PM
To: "'Martin Gudgin'" <mgudgin@microsoft.com>, "Nilo Mitra (EUS)"
<Nilo.Mitra@am1.ericsson.se>, Jean-Jacques Moreau <moreau@crf.canon.fr>,
Marc Hadley <marc.hadley@sun.com>, Noah Mendelson
<noah_mendelsohn@us.ibm.com>, Henrik Frystyk Nielsen
<henrikn@microsoft.com>
cc: W3C Public Archive <www-archive@w3.org>
Subject: Question on section 2.7.1, Part 1
Categories:
Dear Editors:
While attempting to put in some text on forwarding intermediaries in the
Primer, I took a look at Section2.7.1, Part 1 [1],
and have a question about some aspects of the text there:
Para 2 says: "....They MUST also remove from the SOAP message all SOAP
header blocks targeted at themselves, prior to forwarding, regardless of
whether these header blocks were processed or ignored."
Para 3 says: "....Such rules MAY describe placement of inserted or
reinserted SOAP header blocks. ...."
I wonder if the MAY in the last quoted part is valid for the case of a
SOAP header block with a role attribute of "next". Surely for such blocks,
the header block MUST be reinserted, whether this block is processed or
ignored. In fact, shouldn't something be mandated regards forwarding for
header blocks with a role="next"?
Please could someone clarify.
Thanks,
Nilo
[1] http://www.w3.org/2000/xp/Group/2/06/LC/soap12-part1.html#forwardinter
Received on Friday, 4 October 2002 18:18:13 UTC