You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by "Vishal.a" <vi...@gmail.com> on 2009/02/05 23:33:14 UTC
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.
Re: Setting headers in JAXRS
Posted by Sergey Beryozkin <sb...@progress.com>.
Hi Vishal
I've added a support for a system query _method
thanks, Sergey
----- Original Message -----
From: "Vishal.a" <vi...@gmail.com>
To: <us...@cxf.apache.org>
Sent: Saturday, February 07, 2009 7:37 PM
Subject: RE: Setting headers in JAXRS
>
> Hello Sergey,
>
> I can actually see the headers in my client.So it is working.
> Thanks a lot for the replies.
>
> Vishal
>
>
> Sergey Beryozkin-2 wrote:
>>
>> 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:vishala@gmail.com]
>> Sent: 06 February 2009 23:31
>> To: users@cxf.apache.org
>> 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" <vi...@gmail.com>
>>>> To: <us...@cxf.apache.org>
>>>> 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.
>>
>>
>>
>
> --
> View this message in context: http://www.nabble.com/Setting-headers-in-JAXRS-tp21862657p21892057.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>
RE: Setting headers in JAXRS
Posted by "Vishal.a" <vi...@gmail.com>.
Hello Sergey,
I can actually see the headers in my client.So it is working.
Thanks a lot for the replies.
Vishal
Sergey Beryozkin-2 wrote:
>
> 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:vishala@gmail.com]
> Sent: 06 February 2009 23:31
> To: users@cxf.apache.org
> 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" <vi...@gmail.com>
>>> To: <us...@cxf.apache.org>
>>> 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.
>
>
>
--
View this message in context: http://www.nabble.com/Setting-headers-in-JAXRS-tp21862657p21892057.html
Sent from the cxf-user mailing list archive at Nabble.com.
RE: Setting headers in JAXRS
Posted by Sergey Beryozkin <sb...@progress.com>.
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:vishala@gmail.com]
Sent: 06 February 2009 23:31
To: users@cxf.apache.org
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" <vi...@gmail.com>
>> To: <us...@cxf.apache.org>
>> 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.
Re: Setting headers in JAXRS
Posted by "Vishal.a" <vi...@gmail.com>.
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" <vi...@gmail.com>
>> To: <us...@cxf.apache.org>
>> 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.
Re: Setting headers in JAXRS
Posted by "Vishal.a" <vi...@gmail.com>.
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" <vi...@gmail.com>
> To: <us...@cxf.apache.org>
> 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-tp21862657p21880140.html
Sent from the cxf-user mailing list archive at Nabble.com.
Re: Setting headers in JAXRS
Posted by Sergey Beryozkin <sb...@progress.com>.
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" <vi...@gmail.com>
To: <us...@cxf.apache.org>
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.
>