You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "Jean-Louis MONTEIRO (JIRA)" <ji...@apache.org> on 2009/02/17 09:37:59 UTC
[jira] Commented: (OPENEJB-965)
http://www.nabble.com/exceptions-handling-with-Webservices-td19668275.html
[ https://issues.apache.org/jira/browse/OPENEJB-965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12674145#action_12674145 ]
Jean-Louis MONTEIRO commented on OPENEJB-965:
---------------------------------------------
please find attach a patch file regarding exceptions handling in JAX-WS integration (CXF).
Explanations on my understanding are available on the dev mailling http://www.nabble.com/CXF-integration-td21972675.html
> http://www.nabble.com/exceptions-handling-with-Webservices-td19668275.html
> --------------------------------------------------------------------------
>
> Key: OPENEJB-965
> URL: https://issues.apache.org/jira/browse/OPENEJB-965
> Project: OpenEJB
> Issue Type: Bug
> Components: webservices
> Affects Versions: (trunk/openejb3)
> Environment: All
> Reporter: Jean-Louis MONTEIRO
> Attachments: patch-openejb-965.txt
>
>
> As this problem becomes critical for applications, I have decided to open a JIRA.
> The full description is available at http://www.nabble.com/exceptions-handling-with-Webservices-td19668275.html
> Here are some thoughts.
> In the intercept method of the EjbInterceptor class (openejb-cxf module), we can either directly call the target EJB bean (when no handler has been defined) or delegate to the CXF chain when handlers have been defined.
> Regarding the first case, when an ApplicationException is thrown. This exception is caught by the preEjbInvoke method (from the EjbMethodInvoker). The preEjbInvoke method registers all exceptions as UNCHECKED so the client always receives a SOAPFaultException instead of the user defined application exception.
> We can work around this problem by adding a dummy handler or change the test to be sure it's always false.
> {code}
> line 82: if (binding.getHandlerChain() == null || binding.getHandlerChain().isEmpty()) {
> {code}
> To conclude, invoking directly the target EJB bean does not handle exceptions correctly.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.