I'm basically fine with this, since the default MU check happens right before the call to the MessageReceiver anyway. However, I don't like the "MessageReceiverExtension" name - it's not at all informative IMHO. How about "MustUnderstandChecker"? And rather than having the engine do both an instanceof and a method call, can we just do the instanceof?

  if (!receiver instanceof MustUnderstandChecker) {
    checkMustUnderstand(msgContext);
  }
  // Just call the MR - if we didn't do the check above,
  // you're on your own!

Then we make AxisEngine.checkMustUnderstand() public and let the JAXWSMessageReceiver decide whether or not to call it in its receive().

Sound OK?

--Glen

David Illsley wrote:
This seems like quite a clean solution.
+1

David

On Wed, Mar 5, 2008 at 10:59 AM, Nikhil V Thaker
<[EMAIL PROTECTED]> wrote:
I would like to propose a change to handle certain situations in jaxws where
we need to postpone the must understand header check from the AxisEngine to
the MessageReceiver. For example, in case of jaxws handler, an application
can choose to implement getHeaders() and choose to add valid header qnames
in that implementation. A mustUnderstand validation needs to happen for this
scenario as described in section 10.2.1 of jaxws specification, in this
situation if the jaxws handlers are not loaded, the must understand checks
has to be postponed from AxisEngine until the handler are loaded and
available in jaxws implementation.

Currently all the must understand processing happens in AxisEngine's
receive() method, I would like to provide a facility in AxisEngine code
where we can choose to delegate MustUnderstand Check to a Message Receiver.
I would like to propose addition of a new interface called
MessageReceiverExtension in Kernel module which has a method
isMustUnderstandCheckPostponed, this new interface will be implemented by
JAXWSMessageReceiver and will help in making the runtime decision to
postpone must understand check in AxisEngine code.

I had made this proposal back in October 08 and here's the link to that
email, http://markmail.org/message/zzqgh535slhpmkbz this email has the
attachment for original patch. Here is the link to the JIRA issue
https://issues.apache.org/jira/browse/AXIS2-3568

Nikhil Thaker
 office: 512 838 9964
 [EMAIL PROTECTED]




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

Reply via email to