[ 
https://issues.apache.org/jira/browse/CXF-1858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Beryozkin resolved CXF-1858.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.5
                   2.2

Fixed now

> JAXRSOutInterceptor throws NullPointerException for unknown requests when 
> using exception mapper
> ------------------------------------------------------------------------------------------------
>
>                 Key: CXF-1858
>                 URL: https://issues.apache.org/jira/browse/CXF-1858
>             Project: CXF
>          Issue Type: Bug
>          Components: REST
>    Affects Versions: 2.1.2
>         Environment: windows XP, jdk1.6.0_07, tomcat 6.0.18
>            Reporter: david
>             Fix For: 2.2, 2.1.5
>
>
> JAX-RS webservice
> When a client requests URL that isnt a valid service endpoint and using an 
> Exeption mapper to return more detailed error, if you add an entity in the 
> response the JAXRSOutInterceptor throws a NPE.
> java.lang.NullPointerException
>       at 
> org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.processResponse(JAXRSOutInterceptor.java:150)
>       at 
> org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAXRSOutInterceptor.java:61)
>    .....
> The exception mapper:
> public class MyExceptionMapper implements ExceptionMapper<Exception>
> {
>       
>       private static Logger LOG = 
> LogUtils.getL7dLogger(MyExceptionMapper.class);
>       
>       @Override
>       public Response toResponse(Exception ex) 
>       {
>               LOG.logp(Level.WARNING, "MyExceptionMapper", 
> "toResponse","Caught Exception:", ex);
>               return 
> Response.status(503).type("text/html").entity("Myexception error 
> description").build();
>       }
> }
> If I dont put the entity in the response it works, but with an entity in the 
> response it causes a NullPointerException.
> currently in SVN and 2.1.2 JAXRSOutInterceptor.java line 150 is :
> writer.writeTo(responseObj, targetType, invoked.getGenericReturnType(), 
>                                invoked != null ? invoked.getAnnotations() : 
> new Annotation[]{}, 
>                                responseType, 
>                                response.getMetadata(), 
>                                out);
>                 
> perhaps should be  this :
> writer.writeTo(responseObj, targetType, 
>                                invoked != null ? 
> invoked.getGenericReturnType() : null, 
>                                invoked != null ? invoked.getAnnotations() : 
> new Annotation[]{}, 
>                                responseType, 
>                                response.getMetadata(), 
>                                out);

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to