cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Parwiz Rezai (JIRA)" <>
Subject [jira] [Commented] (CXF-4912) cxf rest client always picks the first ResponseExceptionMapper for a method with different exception throws
Date Fri, 22 Mar 2013 06:25:14 GMT


Parwiz Rezai commented on CXF-4912:

if you change the order of throws from throws Exception2 , Exception1 to throws Exception1,
then it will find the mapper for exception 1 which works..
but suppose you are throwing Exception2 also in this method in some other part/branch.. now
again it will go 
to Exception1ResponMapper... it always goes by the first type of exception delcared
in the method signature.. I think this needs to be expanded to do a type match on the exception
type first and then see if there is a mapper for that type (or it one of its parents).
> cxf rest client always picks the first ResponseExceptionMapper for a method with different
exception throws
> -----------------------------------------------------------------------------------------------------------
>                 Key: CXF-4912
>                 URL:
>             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:

View raw message