Hi Vishal Excellent - I think it's actually the best way if you'd like to avoid doing it all in the application code where you can do the same by returning Response - which does require you to have a signature with a JAX-RS specific type.
Likewise, you can do it with a CXF out-interceptor too - but what you did seems perfect. So if it does work then it's a bug indeed that the headers are lost when updated in MessageBodyWriter.writeTo() - as I said I'll get to fixing it asap Cheers, Sergey -----Original Message----- From: Vishal.a [mailto:[email protected]] Sent: 06 February 2009 23:31 To: [email protected] Subject: Re: Setting headers in JAXRS I think i got it to work,but i am not sure if this is the best way to do it public class InsertHeaderHandler implements ResponseHandler { private static final String METHOD_TYPE = "GET"; public Response handleResponse(Message message, OperationResourceInfo operationResourceInfo, Response response) { if(operationResourceInfo.getHttpMethod().equals(METHOD_TYPE)) { response.getMetadata().put("Cache-Control",Arrays.asList(new Object[] {"no-cache"})); response.getMetadata().put("Expires",Arrays.asList(new Object[] {"0"})); } return response; } } Any input would be great. Thanks, Vishal Vishal.a wrote: > > Hello Sergey, > > My problem is i need to add the following to the headers of all the GET > request > > "Cache-Control","no-cache" > "Expires", 0 > > Do u think there is a better way of doing this? > > Thanks, > Vishal > > > Sergey Beryozkin-4 wrote: >> >> Hi Vishal - looks like they're ignored by the HttpDestination layer - >> I'll investigate... >> I'm very busy at the moment with the client api work - so I'll try to get >> to it early next week - if you can debug and spot where >> they're lost then it would help... >> >> Cheers, Sergey >> >> >> ----- Original Message ----- >> From: "Vishal.a" <[email protected]> >> To: <[email protected]> >> Sent: Thursday, February 05, 2009 10:33 PM >> Subject: Setting headers in JAXRS >> >> >>> >>> Hello All, >>> >>> I am trying to add values to the headers in my writeto method in >>> MessageBodyWriter like this >>> >>> headers.putSingle("Cache-Control","no-cache"); >>> headers.putSingle("Expires", 0); >>> >>> If i look at the log of the outbound message i can see the headers in >>> there,but however when the client receives it,the headers are not in >>> there. >>> >>> Can someone please help me. >>> >>> Thanks, >>> Vishal >>> -- >>> View this message in context: >>> http://www.nabble.com/Setting-headers-in-JAXRS-tp21862657p21862657.html >>> Sent from the cxf-user mailing list archive at Nabble.com. >>> >> >> >> > > -- View this message in context: http://www.nabble.com/Setting-headers-in-JAXRS-tp21862657p21882901.html Sent from the cxf-user mailing list archive at Nabble.com.
