You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Balaji Ravi <ba...@gmail.com> on 2007/12/18 15:32:20 UTC
Abstraction on getting headers of different transports
Hi,
I need to populate a custom header regardless of the underlying transport.
How do i do it without having to cater of every transport?
I don't see anything in the message/exchange which will hold on to all the
headers. AFAIK, I would need to get headers specific to the transport &
populate them.
Is this correct? If so, are there any plans to support this case?
Thanks
Balaji
Re: Abstraction on getting headers of different transports
Posted by Daniel Kulp <dk...@apache.org>.
On Tuesday 18 December 2007, Tully, Gary wrote:
> The Header Object would deal with soap headers, right?
Well, if other bindings have a way to map them into something, they could
do so. SOAP is definitely the main one.
> Would a transport agnostic approach to dealing with
> javax.xml.ws.handler.MessageContext.HTTP_REQUEST_HEADERS work?
> So over JMS, the contents of a user provided HTTP_REQUEST_HEADERS
> would be mapped to a message property using some simple convention. In
> other words, any transport that *can* would consume and propagate
> HTTP_REQUEST_HEADERS/HTTP_RSPONSE_HEADERS.
>
> The implementation could be bases on the CXF MessageContext so that
> the simple front end could work also. That is, it need not just be the
> jaxws property that is recognised.
Ah. Yes. I misread Balaji's question. He was asking about transport
headers, not binding level header. In that case, yes the
MessageContext.HTTP_REQUEST_HEADERS should be used.
Technically, the transport should use Message.PROTOCOL_HEADERS on the
message for whatever direction that message is going. The
HTTP_REQUEST_HEADERS thing is a JAX-WS thing that we map onto the
PROTOCOL_HEADERS.
Dan
>
> Thanks,
> Gary.
>
> > -----Original Message-----
> > From: Daniel Kulp [mailto:dkulp@apache.org]
> > Sent: 18 December 2007 15:14
> > To: cxf-dev@incubator.apache.org
> > Cc: Balaji Ravi
> > Subject: Re: Abstraction on getting headers of different transports
> >
> >
> > Balaji,
> >
> > There is the Header object (org.apache.cxf.headers package in
> > API) that
> > was added to start going down that route. It's currently
> > just used for
> > out of band headers, but ideally, the header in/out
> > interceptors would work with those (copy/move the objects
> > to/from the parameter list to the header list) and the SOAP
> > binding would just need to deal with the
> > header list. That second part hasn't really been started yet
> > though.
> >
> > Dan
> >
> > On Tuesday 18 December 2007, Balaji Ravi wrote:
> > > Hi,
> > >
> > > I need to populate a custom header regardless of the underlying
> > > transport. How do i do it without having to cater of every
> >
> > transport?
> >
> > > I don't see anything in the message/exchange which will
> >
> > hold on to all
> >
> > > the headers. AFAIK, I would need to get headers specific to the
> > > transport & populate them.
> > >
> > > Is this correct? If so, are there any plans to support this case?
> > >
> > > Thanks
> > >
> > > Balaji
> >
> > --
> > J. Daniel Kulp
> > Principal Engineer, IONA
> > dkulp@apache.org
> > http://www.dankulp.com/blog
>
> ----------------------------
> IONA Technologies PLC (registered in Ireland)
> Registered Number: 171387
> Registered Address: The IONA Building, Shelbourne Road, Dublin 4,
> Ireland
--
J. Daniel Kulp
Principal Engineer, IONA
dkulp@apache.org
http://www.dankulp.com/blog
RE: Abstraction on getting headers of different transports
Posted by "Tully, Gary" <Ga...@iona.com>.
Hi Dan,
The Header Object would deal with soap headers, right?
Would a transport agnostic approach to dealing with
javax.xml.ws.handler.MessageContext.HTTP_REQUEST_HEADERS work?
So over JMS, the contents of a user provided HTTP_REQUEST_HEADERS would
be mapped to a message property using some simple convention. In other
words, any transport that *can* would consume and propagate
HTTP_REQUEST_HEADERS/HTTP_RSPONSE_HEADERS.
The implementation could be bases on the CXF MessageContext so that the
simple front end could work also. That is, it need not just be the jaxws
property that is recognised.
Thanks,
Gary.
> -----Original Message-----
> From: Daniel Kulp [mailto:dkulp@apache.org]
> Sent: 18 December 2007 15:14
> To: cxf-dev@incubator.apache.org
> Cc: Balaji Ravi
> Subject: Re: Abstraction on getting headers of different transports
>
>
> Balaji,
>
> There is the Header object (org.apache.cxf.headers package in
> API) that
> was added to start going down that route. It's currently
> just used for
> out of band headers, but ideally, the header in/out
> interceptors would work with those (copy/move the objects
> to/from the parameter list to the header list) and the SOAP
> binding would just need to deal with the
> header list. That second part hasn't really been started yet though.
>
> Dan
>
>
> On Tuesday 18 December 2007, Balaji Ravi wrote:
> > Hi,
> >
> > I need to populate a custom header regardless of the underlying
> > transport. How do i do it without having to cater of every
> transport?
> >
> > I don't see anything in the message/exchange which will
> hold on to all
> > the headers. AFAIK, I would need to get headers specific to the
> > transport & populate them.
> >
> > Is this correct? If so, are there any plans to support this case?
> >
> > Thanks
> >
> > Balaji
>
>
>
> --
> J. Daniel Kulp
> Principal Engineer, IONA
> dkulp@apache.org
> http://www.dankulp.com/blog
>
----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland
Re: Abstraction on getting headers of different transports
Posted by Daniel Kulp <dk...@apache.org>.
Balaji,
There is the Header object (org.apache.cxf.headers package in API) that
was added to start going down that route. It's currently just used for
out of band headers, but ideally, the header in/out interceptors would
work with those (copy/move the objects to/from the parameter list to the
header list) and the SOAP binding would just need to deal with the
header list. That second part hasn't really been started yet though.
Dan
On Tuesday 18 December 2007, Balaji Ravi wrote:
> Hi,
>
> I need to populate a custom header regardless of the underlying
> transport. How do i do it without having to cater of every transport?
>
> I don't see anything in the message/exchange which will hold on to all
> the headers. AFAIK, I would need to get headers specific to the
> transport & populate them.
>
> Is this correct? If so, are there any plans to support this case?
>
> Thanks
>
> Balaji
--
J. Daniel Kulp
Principal Engineer, IONA
dkulp@apache.org
http://www.dankulp.com/blog