Hi Devs,
AxisEngine#receiver() always check for must understand header
before invoking the relevant message receiver. This would really give a
hard time in Synapse when we tried to implement qos support such as RM
ect.
Synapse has its own SynapseMessageReceiver(SMR) and SynapseDispatcher
and all the messages will be passed to this message receiver via
SynapseDispatcher. During this first phase we are not apply any QOS.
All QOS handles through mediators. Ex: RM will handles through
RMMediator(RMM). RMMediator is a part of Synapse. We use these
mediators to engage Axis2 modules hence supporting QOS.
So in the case of RM all control messages and application messages will
be passed to RMM. Now if a messages comes with must understand
true, it will not pass to SMR at the first phase, because Axis2 engine
check for must understand and it will throw an exception.
Intermediaries like Synapse would not need to understand must
understand headers and it should be upto the Service endpoint to
understand it.
So IMHO, in order to user AxisEngine in SynapseEnvironment, we need a switch to configure must understanding.
Thank you
Saminda
- AxisEngine#receive() ; checkMustUnderstand(); Saminda Abeyruwan
- Re: AxisEngine#receive() ; checkMustUnderstand(); Asankha C. Perera
- Re: AxisEngine#receive() ; checkMustUnderstan... Paul Fremantle
- Re: AxisEngine#receive() ; checkMustUnder... Deepal jayasinghe
- Re: AxisEngine#receive() ; checkMustU... Saminda Abeyruwan
- Re: AxisEngine#receive() ; check... Saminda Abeyruwan
- Re: AxisEngine#receive() ; c... Asankha C. Perera
- Re: AxisEngine#receive() ; checkMustUnder... Eran Chinthaka
- Re: AxisEngine#receive() ; checkMustU... Sanjiva Weerawarana
- Re: AxisEngine#receive() ; checkMustU... Paul Fremantle
- Re: AxisEngine#receive() ; check... Sanjiva Weerawarana
