You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Nikhil V Thaker <ni...@us.ibm.com> on 2007/10/18 22:10:27 UTC
Delegate MustUnderstand header check to MessageReceiver
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.
Attached is the patch with proposed changes.
Nikhil Thaker
office: 512 838 9964
nvthaker@us.ibm.com
Re: Delegate MustUnderstand header check to MessageReceiver
Posted by Deepal Jayasinghe <de...@opensource.lk>.
Hi Nikhil ,
I am 0+ on introducing a new interface , however if JAXWS really want
this let's add this. I think not only JAXWS , Synapse also asked similar
request. Apart from what we are going to do by looking at the patch I
realized that we need to improve the patch a bit. Specially we do not
need the following lines of code
AxisService axisService = msgContext.getAxisService();
+ Parameter p = new Parameter(Constants.FAULTY_HEADER_QNAMES, faultyHeaderQNames);
+ axisService.addParameter(p);
What we should do is use Contexts to store such data , in this case we may store in either MessageContext of ServiceContext.
Thanks
Deepal
> 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.
>
> Attached is the patch with proposed changes.
>
>
>
> Nikhil Thaker
> office: 512 838 9964
> nvthaker@us.ibm.com
> ------------------------------------------------------------------------
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org