David G created CXF-4940:
----------------------------
Summary: 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
Priority: Minor
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