Search the web
Sign In
New User? Sign Up
soapbuilders
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Want to share photos of your group with the world? Add a group photo to Flickr.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Multiple WS-Addresses in multiple namespaces   Message List  
Reply | Forward Message #10758 of 10820 |
Re: [soapbuilders] Multiple WS-Addresses in multiple namespaces

On 2/7/07, noah_mendelsohn@... <noah_mendelsohn@...> wrote:
."
>
> Furthermore, and this is crucial, while SOAP itself mandates no fixed
> order when processing, headers can be defined to control the order [1]:
>
> "The processing of one or more SOAP header blocks MAY control or determine
> the order of processing for other SOAP header blocks and/or the SOAP body.
> For example, one could create a SOAP header block to force processing of
> other SOAP header blocks in lexical order. In the absence of such a
> controlling SOAP header block, the order of header and body processing is
> at the discretion of the SOAP node. Header blocks MAY be processed in
> arbitrary order. Header block processing MAY precede, MAY be interleaved
> with, or MAY follow processing of the SOAP body. For example, processing
> of a "begin transaction" header block would typically precede body
> processing, a "logging" function might run concurrently with body
> processing and a "commit transaction" header block might be honored
> following completion of all other work."
>
> This is not an accident. It's why we require that all mustUnderstand
> checking be done before any other work. That's what ensures you that if
> you have an mU header that says "do the headers in reverse order" or
> "alphabetical order" or more likely "do signatures first" then that
> header or those headers will necessarily be checked in time to determine
> an order.
>

aah. Soap1.2. Soap 1.1 says nothing about where the headers are
validated, only that they must be validated

"A env:mustUnderstand value of "true" means that the SOAP node must
process the header with the semantics described in that header's
specification, or else generate a SOAP fault. Processing the header
appropriately may include removing the header from any generated SOAP
message, reinserting the header with the same or altered value, or
inserting a new header. The inability to process a mandatory header
requires that all further processing of the SOAP message cease, and a
SOAP fault be generated. The message is not forwarded any further."

This is why the release of Axis (1.0?) that didnt do mU checking until
after the message had been handled was within the spirit of the spec,
and not the law.

SOAP1.2 implies that I must check all mu headers before having any
side effect at all. hmm. My current stack lets you declare handlers in
a chain, as axis has done forever, and sun's stack has done since last
week:

AddressedEchoEndpoint extends AlpineEndpoint {
name "wsa-echo";
handlers [
LogCurrentMessageHandler:classname,
AddressHandler:classname,
MustUnderstandChecker:classname,
EchoHandler:classname,
LogCurrentMessageHandler:classname
];
}

There's no way with this chain-of-resposibility design to do advance
checking of handling, or guarantee that there are no side effects (I
log the message -is that a side effect?), before the message is handed
for processing.

I suppose I could modify the handler interface to add an extra method
in which every handler indicates if it will process a specific mU
header. But if every handler is empowered to transform the incoming
message during its work phase, things get complex. You need to create
a provisionally transformed doc (transform, without side effects) just
to make sure the mu headers get processed right.

Or I ignore that part of the spec on the grounds that its pretty much
impossible for interop tests to catch and retain my existing
SOAP1.1-compatible mU processing algorithm.

> Furthermore, and this is the part I really wish had been highlighted a bit
> more, nothing says these must be separate headers. So, IMO, if you want
> to say >in the specification for wsa:To< "if there are multiple wsa:To
> headers, here's the rule for how to process them all in the presence of
> the others", you can do so. If they are marked mU then you can be sure
> that, at least per the SOAP spec, their specifications can conspire to
> determine an order.
>

well, its a shame they dont.

-steve



Thu Feb 8, 2007 3:58 pm

steve_loughran
Offline Offline
Send Email Send Email

Forward
Message #10758 of 10820 |
Expand Messages Author Sort by Date

I know having more than <wsa:To> or wsa:MessageID header in your Soap message is a nono, for any binding of wsa: to the various draft and final WS-A releases. ...
Steve Loughran
steve_loughran
Offline Send Email
Jan 29, 2007
4:41 pm

Hi Steve, ... Looking at this practically - if the correct WSA (and other) headers are present (and in the SAME namespace), then it seems possible that the ...
John Kemp (Nokia-NRC/...
frumioj
Offline Send Email
Jan 29, 2007
5:23 pm

... Yes, I am thinking of how best to handle the situation on my end. I currently work back from newest to oldest namespaces looking for a match, and ignore...
Steve Loughran
steve_loughran
Offline Send Email
Jan 29, 2007
6:15 pm

... That seems reasonable... ... That seems reasonable too ;) ... Right. I just don't think you should feel too secure about sending all three together. It...
John Kemp (Nokia-NRC/...
frumioj
Offline Send Email
Jan 29, 2007
6:36 pm

Steve, The WS-A implementations I have knowledge of both take the (c) approach and only process one namespace. This means that when mustUnderstand processing...
illsleydc
Offline Send Email
Jan 29, 2007
6:34 pm

Hi Steve ... I raised this very issue in my position paper [1] to the W3C Workshop on Enterprise computing, and see it as a fundamental consequence of SOAP not...
Paul Downey
sumnerdowney
Offline Send Email
Jan 30, 2007
12:08 pm

Hi Paul! ... While I don't necessarily disagree with this (and believe me, the discussion as to processing order was a big one back in the early days of XMLP),...
Glen Daniels
glen@...
Send Email
Jan 30, 2007
6:18 pm

... or you understand none, which again, is unimportant. ... Well, then -why didnt WS-A to have some guidelines for the problem. Given that the WS-RF 1.0 spec...
Steve Loughran
steve_loughran
Offline Send Email
Jan 30, 2007
10:14 pm

Hi Steve: ... I agree, and I would suggest that feedback/errata be offered to the WSA working group. I haven't had time to scan the archives, but I'm sure ...
Glen Daniels
glen@...
Send Email
Feb 1, 2007
2:54 pm

... well, I shall modify my servlet engine to support multiple Host fields in the get request to make its http layer more consistent :)...
Steve Loughran
steve_loughran
Offline Send Email
Feb 1, 2007
8:13 pm

... One of my great regrets about the SOAP Recommendation is that it does not make crystal clear an aspect of the design that I considered to be very ...
noah_mendelsohn@...
Send Email
Feb 7, 2007
1:16 am

On 2/7/07, noah_mendelsohn@... <noah_mendelsohn@...> wrote: ." ... aah. Soap1.2. Soap 1.1 says nothing about where the headers are validated,...
Steve Loughran
steve_loughran
Offline Send Email
Feb 8, 2007
3:59 pm

... Well, my reading of the ws-i basic profile is that it says the same thing regarding SOAP 1.1 [1]: "R1025 A RECEIVER MUST handle messages in such a way...
noah_mendelsohn@...
Send Email
Feb 8, 2007
5:14 pm

... Sometimes I suspect complexity is the underlying problem. Like WSDL. Its almost impossible for humans to write, so what you get is a mess, compared to,...
Steve Loughran
steve_loughran
Offline Send Email
Feb 8, 2007
6:51 pm
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help