Hi dims, Michael:

It is certainly true that role support is quite lacking so far in Axis2 - I'll commit to cleaning this all up over the next week or so. The main reason to differentiate the SOAP versions is to throw the correct fault - I think Axis1 dealt a lot better in some ways with the different SOAP versions (see org.apache.axis.soap.SOAPConstants), and we should probably implement something similar for A2. This lets you write clean code and keep the version-specific stuff hidden underneath another class.

That said, the checkMustUnderstand() code is definitely doing the wrong thing right now. The correct logic should be:

for (each header that IS targeted to me) {
   if (!processed and mustUnderstand==true) {
       throw version-specific-MU-Fault
   }
}

The first cut of "is targeted to me" is something like "has no role, the 'next' role, or is the ultimate receiver role". The next version is to support a configurable list of role URIs.

Thanks for noticing this - clearly we need better tests here as well. Deepal and I were focusing on the Phase concept for that checkin you reference, and didn't pay enough attention to the MU piece.

--Glen

Davanum Srinivas wrote:
Glen,

Could you please take a look at this one? Since Deepal is out and your
name pops up in the original check-in :)

-- dims

On 3/5/07, Michael Rheinheimer <[EMAIL PROTECTED]> wrote:



Hi, I have a few questions about the MustUnderstand SOAP header attribute processing logic in the AxisEngine. Any help is appreciated. What I see in the AxisEngine.checkMustUnderstand (at least up to SVN rev 512819) is that if the MustUnderstand header attribute is there, the following occurs:

(1) if not SOAP 1.1, header must have a role block, and that role block must be NEXT (2) if SOAP 1.1, header may be null, but if it is not, then it must be NEXT

I'm not sure why we would be doing this, except that possibly the support for the three standard roles is incomplete (SOAP 1.2, section 2.2: http://www.w3.org/TR/2003/REC-soap12-part1-20030624/#soaproles). The comments in the method declare support for only NEXT. If my searching is correct, it appears deepal committed the version with the comments:


2005-12-11 svn commit: r355917 [1/3] - in /webservices/axis2/tru axis-dev deepal Anybody have any insight into this? Any plans to support the other two roles? Why is the logic different for !SOAP1.1 than for SOAP1.1?

 Thanks!
 mike





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to