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 Misho Gradinkata <mi...@googlemail.com> on 2008/03/27 13:13:14 UTC

Fwd: [Axis2] wrong JAX-WS handler-chain execution

Hi all,

I'm testing Axis2-1.4/RC2 and its JAX-WS handler framework implementation. I
noticed some unconformities with the JAX-WS specification:

I have a handler chain with Handler1, Handler2, Handler3 and Handler4. The
four of them have handleMessage(), handleFault() and close() methods as well
as init() and destroy() methods annotated with @PostConstruct and
@PreDestroy respectively. When a message arrives init() is executed on all
handlers, then on the inbound direction Handler3's handleMessage() method
throws a ProtocolException -> then the chain is reverted and handleFault()
is invoked on Handler2 and Handler1, then close() on Handler 1, 2 and 3. As
far as I understand from the JAX-WS 2.0 specification this is the expected
behavior. So here I expect all @PreDestroy methods to be executed and that's
all for the handler-chain. BUT instead I can see that an outbound execution
starts (with OUTBOUND_PROPERTY = true) and handleFault() is called (again)
on all four handlers from 4 to 1, then close() on all handlers (again) and
at the end destroy() on all handlers.

I guess that somewhere you miss to check for errors on the inbound chain
execution and a complete outbound chain is executed no matter what happened
on the inbound direction. I think it is important to fix this.
Thanks.

Regards,
Misho

Re: [Axis2] wrong JAX-WS handler-chain execution

Posted by Davanum Srinivas <da...@gmail.com>.
Misho,

Can you please create an issue in JIRA and upload a test case? Yes,
this looks like something that needs fixing.

thanks,
dims

On Thu, Mar 27, 2008 at 8:13 AM, Misho Gradinkata
<mi...@googlemail.com> wrote:
>
> Hi all,
>
> I'm testing Axis2-1.4/RC2 and its JAX-WS handler framework implementation. I
> noticed some unconformities with the JAX-WS specification:
>
> I have a handler chain with Handler1, Handler2, Handler3 and Handler4. The
> four of them have handleMessage(), handleFault() and close() methods as well
> as init() and destroy() methods annotated with @PostConstruct and
> @PreDestroy respectively. When a message arrives init() is executed on all
> handlers, then on the inbound direction Handler3's handleMessage() method
> throws a ProtocolException -> then the chain is reverted and handleFault()
> is invoked on Handler2 and Handler1, then close() on Handler 1, 2 and 3. As
> far as I understand from the JAX-WS 2.0 specification this is the expected
> behavior. So here I expect all @PreDestroy methods to be executed and that's
> all for the handler-chain. BUT instead I can see that an outbound execution
> starts (with OUTBOUND_PROPERTY = true) and handleFault() is called (again)
> on all four handlers from 4 to 1, then close() on all handlers (again) and
> at the end destroy() on all handlers.
>
> I guess that somewhere you miss to check for errors on the inbound chain
> execution and a complete outbound chain is executed no matter what happened
> on the inbound direction. I think it is important to fix this.
> Thanks.
>
> Regards,
> Misho
>
>



-- 
Davanum Srinivas :: http://davanum.wordpress.com

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org