Parwiz Rezai created CXF-4912:
---------------------------------
Summary: cxf rest client always picks the first
ResponseExceptionMapper for a method with different exception throws
Key: CXF-4912
URL: https://issues.apache.org/jira/browse/CXF-4912
Project: CXF
Issue Type: Bug
Components: JAX-RS
Affects Versions: 2.7.3
Environment: tomcat 6.33, java 1.6_34, spring 3.2.1.RELEASE.
Reporter: Parwiz Rezai
I have two differnt exceptions
class Exception1 extends Exception {
// blah blah
}
class Exception2 extends Exception {
// blah blah
}
public class Exception1ResponseMapper implements
ResponseExceptionMapper<Exception1> {}
public class Exception2ResponseMapper implements
ResponseExceptionMapper<Exception2> {}
so one mapper does something different than the other one.
now my service method is
public interface MyService {
SomeCoolObject myMethod() throws Exception2, Exception1;
}
public class MyServiceImpl implements MyService {
public SomeCoolObject myMethod() throws Exception2, Exception1 {
throw new Exception1("hey this exception will still go exception 2 mapper..
why?");
}
}
The selection for response mapper will always pick the first
exception listed and invoke the mapper for that guy.. it will never
invoke Exception1ResponseMapper even though our exception is of type
Exception1..
I think the code needs to lookup the mapper based on type as well
instead of generic first mapper found for that service.
--
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