- 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