camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From William Tam <email.w...@gmail.com>
Subject Re: setting soap headers in camel cxf router
Date Wed, 02 Sep 2009 13:10:01 GMT
Sorry, i've been quite busy.  I'll get to it today.

On Wed, Sep 2, 2009 at 3:12 AM, trivedi kumar b<Trivedi.Bodlapati@ge.com> wrote:
>
> Hi,
>
> Did you get a chance to look into this?
>
> Thanks,
> Trivedi
>
>
> William Tam wrote:
>>
>> Hi Trivedi, I'll try to get that today.
>>
>> On Fri, Aug 28, 2009 at 3:26 PM, trivedi kumar
>> b<Trivedi.Bodlapati@ge.com> wrote:
>>>
>>> Hi William,
>>>
>>> I am using Camel 1.x, can you provide me a sample how to set headers in
>>> Exchange for POJO based CXF webservices?
>>>
>>> Thanks,
>>> Trivedi
>>>
>>> William Tam wrote:
>>>>
>>>> Try it with 2.0 if it is possible.  Just set the Header.list in the
>>>> Camel out headers.  If the headers that you are trying to set are
>>>> defined in WSDL, you may not be able to set them with as the
>>>> Header.list header since (I think) out parameters (Java objects) could
>>>> be marshaled into SOAP headers.  If you are dealing with SOAP headers,
>>>> another option is PAYLOAD mode.  It is a bit easier to work with SOAP
>>>> headers.
>>>> (see the section "How to deal with the message for a camel-cxf
>>>> endpoint in PAYLOAD data format" in
>>>> http://cwiki.apache.org/confluence/display/CAMEL/CXF).  In 2.0, the
>>>> body of camel message is a CxfPayload<SoapHeader> object.   You can
>>>> call CxfPayload.getHeaders() to get a List<Element> of SOAP headers.
>>>> To set you response, you just set your CxfPayload object in out body
>>>> of the exchange.
>>>>
>>>> On Thu, Aug 27, 2009 at 12:06 AM, William Tam<email.wtam@gmail.com>
>>>> wrote:
>>>>> What version of Camel are you running?   I remember that we had some
>>>>> issue with SOAP headers getting dropped in older release.
>>>>> https://issues.apache.org/activemq/browse/CAMEL-1474.  Also, are the
>>>>> headers that you are setting defined in your WSDL?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Aug 26, 2009 at 5:02 PM, trivedi kumar
>>>>> b<Trivedi.Bodlapati@ge.com> wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Sorry for the late response on this from my side, we could able to
get
>>>>>> the
>>>>>> headers from the exchange but the problem that we are facing was
how
>>>>>> to
>>>>>> set
>>>>>> the headers on out message? Any sample code?
>>>>>>
>>>>>> Thanks,
>>>>>> Trivedi
>>>>>>
>>>>>>
>>>>>> William Tam wrote:
>>>>>>>
>>>>>>> Just took a peek at the doc.   The PAYLOAD mode doc in that
area
>>>>>>> needs
>>>>>>> improvement, too.  I will look into it.
>>>>>>>
>>>>>>> On Tue, Aug 25, 2009 at 11:01 AM, William Tam<email.wtam@gmail.com>
>>>>>>> wrote:
>>>>>>>> Will do, Claus. :-)   Getting SOAP headers and body have
been
>>>>>>>> documented for PAYLOAD mode (both 1.x and 2.x).  For MESSAGE
mode,
>>>>>>>> it
>>>>>>>> is not applicable as there is no SOAP processing (but we
will
>>>>>>>> mention
>>>>>>>> it).  We just have to add doc for POJO mode.
>>>>>>>>
>>>>>>>> On Tue, Aug 25, 2009 at 10:49 AM, Claus Ibsen<claus.ibsen@gmail.com>
>>>>>>>> wrote:
>>>>>>>>> On Tue, Aug 25, 2009 at 4:38 PM, William Tam<email.wtam@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>> In 1.x, we don't copy the Headers.list to Camel headers.
 You can
>>>>>>>>>> get
>>>>>>>>>> the Headers.list by first getting the CXF Message
from Camel
>>>>>>>>>> Message.
>>>>>>>>>> And then, you can get the header list from CXF message.
>>>>>>>>>>
>>>>>>>>>> org.apache.camel.Message in = exchange.getIn();
>>>>>>>>>> org.apache.camel.component.cxf.CxfMessage body =
>>>>>>>>>> (org.apache.camel.component.cxf.CxfMessage)in.getBody();
>>>>>>>>>> org.apache.cxf.message.Message cxfMessage = body.getMessage();
>>>>>>>>>> List<org.apache.cxf.headers.Header.Header>
soapHeaders =
>>>>>>>>>> cxfMessage.get(org.apache.cxf.headers.Header.Header.HEADER_LIST);
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> No wonder CXF is hard, when you need all the "ugly" code
above.
>>>>>>>>>
>>>>>>>>> As a lot of people are asking how to get SOAP headers
from the 3
>>>>>>>>> dataFormats.
>>>>>>>>> And as well how to get the body as type X. Or what the
default type
>>>>>>>>> the body is returned as etc.
>>>>>>>>>
>>>>>>>>> It would be cool and nice if we added such description
and sample
>>>>>>>>> on
>>>>>>>>> the CXF wiki page.
>>>>>>>>>
>>>>>>>>> Start with Camel 2.0 and then later if time we can do
it for 1.x as
>>>>>>>>> well.
>>>>>>>>>
>>>>>>>>> Camel 2.0
>>>>>>>>> ========
>>>>>>>>> About body and headers using dataFormat=POJO
>>>>>>>>> bla bla
>>>>>>>>>
>>>>>>>>> About body and headers using dataFormat=MESSAGE
>>>>>>>>> bla bla
>>>>>>>>>
>>>>>>>>> About body and headers using dataFormat=RAW
>>>>>>>>> bla bla
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Tue, Aug 25, 2009 at 10:18 AM, William
>>>>>>>>>> Tam<email.wtam@gmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>>> Are you using 2.x?  (My reply was assuming you
were using 2.x).
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Aug 25, 2009 at 10:16 AM, William
>>>>>>>>>>> Tam<email.wtam@gmail.com>
>>>>>>>>>>> wrote:
>>>>>>>>>>>> In POJO mode, the SOAP headers are copied
to Camel IN headers as
>>>>>>>>>>>> "org.apache.cxf.headers.Headers.list."  The
header value is a
>>>>>>>>>>>> List
>>>>>>>>>>>> of
>>>>>>>>>>>> CXF Header objects
>>>>>>>>>>>> (http://svn.apache.org/repos/asf/cxf/trunk/api/src/main/java/org/apache/cxf/headers/Header.java).
>>>>>>>>>>>>  That's how you can read request SOAP headers.
 You can add/edit
>>>>>>>>>>>> the
>>>>>>>>>>>> Headers.list header of Camel OUT headers
to modify the response
>>>>>>>>>>>> SOAP
>>>>>>>>>>>> headers.
>>>>>>>>>>>>
>>>>>>>>>>>> Hope this help.
>>>>>>>>>>>>
>>>>>>>>>>>> - William
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Aug 25, 2009 at 1:42 AM, Claus
>>>>>>>>>>>> Ibsen<claus.ibsen@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> On Thu, Aug 20, 2009 at 9:14 PM, trivedi
kumar
>>>>>>>>>>>>> b<Trivedi.Bodlapati@ge.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I have exposed webservice using cxf
and dataformat is "POJO".
>>>>>>>>>>>>>> With
>>>>>>>>>>>>>> in the
>>>>>>>>>>>>>> router, I want to get and set the
soap headers in message
>>>>>>>>>>>>>> exchange,
>>>>>>>>>>>>>> can
>>>>>>>>>>>>>> someone help me on this?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Get the attention of Willem Jiang as
he works on CXF.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>> Trivedi
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> View this message in context:
>>>>>>>>>>>>>> http://www.nabble.com/setting-soap-headers-in-camel-cxf-router-tp25068148p25068148.html
>>>>>>>>>>>>>> Sent from the Camel - Users mailing
list archive at
>>>>>>>>>>>>>> Nabble.com.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Claus Ibsen
>>>>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>>>>
>>>>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Claus Ibsen
>>>>>>>>> Apache Camel Committer
>>>>>>>>>
>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://www.nabble.com/setting-soap-headers-in-camel-cxf-router-tp25068148p25157965.html
>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/setting-soap-headers-in-camel-cxf-router-tp25068148p25195593.html
>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>
> --
> View this message in context: http://www.nabble.com/setting-soap-headers-in-camel-cxf-router-tp25068148p25252694.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>

Mime
View raw message