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 "Jarek Gawor (JIRA)" <ji...@apache.org> on 2008/04/16 19:21:21 UTC

[jira] Resolved: (AXIS2-3668) Wrong JAX-WS handler-chain execution

     [ https://issues.apache.org/jira/browse/AXIS2-3668?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jarek Gawor resolved AXIS2-3668.
--------------------------------

       Resolution: Fixed
    Fix Version/s: nightly
                   1.4

This is already fixed and will be in Axis 1.4 release. See AXIS2-3726 for details.


> Wrong JAX-WS handler-chain execution
> ------------------------------------
>
>                 Key: AXIS2-3668
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3668
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: jaxws
>         Environment: Apache Tomcat 5.5.25
> Axis2-1.4/RC2
> soapUI for client
>            Reporter: Misho Gradinkata
>             Fix For: 1.4, nightly
>
>         Attachments: HelloServiceJAXWSAnnotated.aar, my-jaxws-handler-chain.jar, request.xml
>
>
> 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

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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