You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Freeman Fang (JIRA)" <ji...@apache.org> on 2013/04/07 09:45:16 UTC

[jira] [Commented] (CXF-4940) CXF not (always) responding with the correct exception when working with an exception hierarchy

    [ https://issues.apache.org/jira/browse/CXF-4940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13624776#comment-13624776 ] 

Freeman Fang commented on CXF-4940:
-----------------------------------

Hi,

I just commit a testcase[1] which demonstrate the exception hierarchy works. 

Could you please append a testcase which we can reproduce the behavior you described here?

[1]http://svn.apache.org/r1465337
Freeman
                
> CXF not (always) responding with the correct exception when working with an exception hierarchy
> -----------------------------------------------------------------------------------------------
>
>                 Key: CXF-4940
>                 URL: https://issues.apache.org/jira/browse/CXF-4940
>             Project: CXF
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.7.4
>            Reporter: David G
>            Assignee: Freeman Fang
>            Priority: Minor
>         Attachments: FaultOutInterceptor.patch
>
>
> Hi there,
> For a webservice I'm currently building (java first), I have a few custom exceptions arranged in a hierarchy. In order to have them properly declared in the WSDL, I list all possible exceptions in the WebMethod declarations, not only the top ones. That is, if exceptions B->A, I declare :
> @WebMethod
> String helloWorld() throws A,B;
> And it works, as far as the WSDL is concerned.
> What doesn't work is that when requesting the service and raising a 'B' (child) exception, the response embeds an 'A' (parent) fault.
> I seem to have narrowed down the culprit to org.apache.cxf.interceptor.FaultOutInterceptor.getFaultForClass(BindingOperationInfo,Class<?>), which stops at the first exception 'assignable to' the one actually raised. I 'patched' it locally to return the 'closest to the one raised', and it does the trick for me.
> I hope an actual CXF contributor can take a look at this issue. I'm a beginner with CXF, and I might use it improperly. Please bear with me if that's the case :)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira