You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Constantino Cronemberger (JIRA)" <ji...@apache.org> on 2014/11/04 16:16:34 UTC

[jira] [Created] (CXF-6082) method Response.StatusType.getReasonPhrase is never called by CXF to generate a response

Constantino Cronemberger created CXF-6082:
---------------------------------------------

             Summary: method Response.StatusType.getReasonPhrase is never called by CXF to generate a response
                 Key: CXF-6082
                 URL: https://issues.apache.org/jira/browse/CXF-6082
             Project: CXF
          Issue Type: Bug
          Components: JAX-RS
    Affects Versions: 3.0.2
            Reporter: Constantino Cronemberger


I am trying to send a JAX-RS response passing in a custom status code message and I found that with CXF this is not possible.

I checked the code and found that getReasonPhrase  is never called and that neither HttpServletResponse.setStatus(int i, java.lang.String s) nor sendError(int i, java.lang.String s) are used in CXF.

In fact I found a call to getReasonPhrase in the getStatusInfo of the ResposeImpl class, but at the end it is only used by the method WebApplicationException.computeExceptionMessage to create the message text of the exception, but it would be necessary to call setStatus or sendError anyway.

Looks like this can be done with Jersey:

http://www.codingpedia.org/ama/custom-reason-phrase-in-http-status-error-message-response-with-jax-rs-jersey

but I have tested only with CXF.

The workaround for my case should be simple: instead of generating the response with an ExceptionMapper I will create a regular servlet error page which will call sendError appropriately.

I still don't have a clear idea of how I could implement this fix for CXF.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)