- From: Henrik Frystyk Nielsen <henrikn@microsoft.com>
- Date: Wed, 16 May 2001 15:19:35 -0700
- To: <Noah_Mendelsohn@lotus.com>
- Cc: "Doug Davis" <dug@us.ibm.com>, <xml-dist-app@w3.org>
>On the call just now, Glen brought up what I think is the area requiring >greatest attention: if several headers for the same header all indicate >mustUnderstand, can we say anything about the order processed? In SOAP >1.1, I think the answer is "no". Henrik suggests (a) that lexical order >be significant -- I think that's a change to SOAP 1.1, though possibly a >good idea I think we have (at least) two opportunities that we might want to consider - I am not saying I have the answer either way: 1) We say that the header entry order is significant in processing the message. 2) We say that intermediaries SHOULD NOT reorder header entries but may add header entries and take out header entries intended for it. I think we have to think about what "significant" means in 1) and how it interacts with SOAP faults that only work for the full message: either it is a success or a failure - we don't have the possibility of saying (at least using SOAP fault asis) something like the first three header entries succeeded. The latter is slightly different in that it actually doesn't enforce ordering in the processing but applications can take advantage of the fact that header entries are not reordered. You are right that SOAP doesn't say anything about either 1) or 2). Going from unordered to ordered would definitely be a change. >(b) that rollback be required if later processing fails--I'm not >sure this is practical, but we should consider it. I don't think I went that far and I agree with you that it might not be possible to require simply because we don't know what processing any header entry does in the first place. It boils down to the question of when it is possible to start process a message: as soon as you get the data or when you have the full message. Both mechanisms have ups and downs. For example, how does "progressive processing" affect messages that are being sent and what happens for example if the processing fails half-way? > Also: I don't think >anything suggests that different actor URI's are necessarily different >processors---so multiple header blocks addressed to what appear to be >different actors might, in fact, interleave. Consider "next" as just one >example. I'm not sure a lexical order dependency handles these cases >gracefully. That is a good point. Henrik
Received on Wednesday, 16 May 2001 22:43:04 UTC