[ https://issues.apache.org/jira/browse/CXF-5201?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13740057#comment-13740057 ]
Sergey Beryozkin edited comment on CXF-5201 at 8/14/13 7:11 PM: ---------------------------------------------------------------- I'm a bit confused what exactly works and what does not :-) So, if the filter has: {code:java} context.getHeaders().putSingle("headerName", headerValue); {code} then it works or not ? I understand that writing to HttpServletResponse works for most cases. In your filter, use HttpServletResponseWrapper wrapping the original headers, and override all the methods where headers are set. And try WriterInterceptor adding headers either via WriterInterceptorContext or HttpServletResponse - your HttpServletResponseWrapper will see all the headers irrespectively of how the headers are added in WriterInterceptor was (Author: sergey_beryozkin): I'm a bit confused what exactly works and what is not :-) So, if the filter has: {code:java} context.getHeaders().putSingle("headerName", headerValue); {code} then it works or not ? I understand that writing to HttpServletResponse works for most cases. In your filter, use HttpServletResponseWrapper wrapping the original headers, and override all the methods where headers are set. And try WriterInterceptor adding headers either via WriterInterceptorContext or HttpServletResponse - your HttpServletResponseWrapper will see all the headers irrespectively of how the headers are added in WriterInterceptor > jaxrs2: unable to intercept response to add new response headers > ---------------------------------------------------------------- > > Key: CXF-5201 > URL: https://issues.apache.org/jira/browse/CXF-5201 > Project: CXF > Issue Type: Bug > Components: JAX-RS > Affects Versions: 2.7.5, 2.7.6 > Environment: windows > Reporter: abdelgadiri > > In a WriterInterceptor, one expects to be able to modify response headers via: > //here using putSingle() but could also use on of the addXXX variants > context.getHeaders().putSingle("headerName", headerValue); > However, above is not working in 2.7.5/2.7.6 (@see JIRA-4986) > As a workaround, one should be able to inject the HttpServletResponse object > via: @Context HttpServletResponse response; > then be able to add headers directly to the response object e.g., > response.setHeader("headerName", headerValue); > however, above is also not working in (2.7.5/2.7.6). This is not always > reproducable as sometimes my client does see the new headers in the received > response. On closer look it seems the added headers get lost when it is a > @GET request as opposed to e.g., a @POST. Basically, my test case (a @GET) > always fails with a missing header in the received response even though I am > pretty sure the server had added the header. -- 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