You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by "s.thomas" <sy...@gmail.com> on 2013/03/16 01:43:15 UTC

Camel and headers

Hello, 

i'm completely new in Camel and i have a SOAP header problem. 
I'm realizing a web service proxy. The java client sets a variable in SOAP
headers that will determine to which server the web service request should
be sent.

At first, I realized a "proof of concept" with one client and dataformat to
Message. The proxy works perfectly.

My route 
from("cxf:bean:mycxfBean?dataFormat=MESSAGE")
				.to("log:input")
				.to("http://WSadress...)
				.to("log:output");

and my application-context.xml :
...
<cxf:cxfEndpoint id="mycxfBean" .... />
...
<camelContext id="camel" trace="true"
xmlns="http://camel.apache.org/schema/spring">
	<camel:routeBuilder ref="constructionRoute"/>
</camelContext>
...

But when i want to adapt the camel route with value of "road", i could'nt
find the variable in SOAP headers (i created a processor in order to search
the variable in exchange.getIn.getHeaders, exchange.getBody ....). If I
analyze network packets, my headers are propagated through my proxy with the
correct value. I just can not retrieve the value. 
If I change the dataformat to PAYLOAD, the proxy no longer works (HTTP
operation failed invoking http://..... with statusCode: 500).

Where can i find my variable ? is there a possibility that I can retrieve my
variable with an interceptor while keeping the message option for dataformat
?

Any help is welcome (documentation, example, ....)

Sorry for my english...





--
View this message in context: http://camel.465427.n5.nabble.com/Camel-and-headers-tp5729277.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Camel and headers

Posted by Willem jiang <wi...@gmail.com>.
Hi,
Please take some time to go through the camel-cxf wiki page.
You should be able to get the SOAP header with POJO[1] and PAYLOAD[2] data format.

[1]http://camel.apache.org/cxf.html#CXF-HowtogetandsetSOAPheadersinPOJOmode
[2]http://camel.apache.org/cxf.html#CXF-HowtogetandsetSOAPheadersinPAYLOADmode


--  
Willem Jiang

Red Hat, Inc.
FuseSource is now part of Red Hat
Web: http://www.fusesource.com | http://www.redhat.com
Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) (English)
          http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese)
Twitter: willemjiang  
Weibo: 姜宁willem





On Saturday, March 16, 2013 at 8:43 AM, s.thomas wrote:

> Hello,  
>  
> i'm completely new in Camel and i have a SOAP header problem.  
> I'm realizing a web service proxy. The java client sets a variable in SOAP
> headers that will determine to which server the web service request should
> be sent.
>  
> At first, I realized a "proof of concept" with one client and dataformat to
> Message. The proxy works perfectly.
>  
> My route  
> from("cxf:bean:mycxfBean?dataFormat=MESSAGE")
> .to("log:input")
> .to("http://WSadress...)
> .to("log:output");
>  
> and my application-context.xml :
> ...
> <cxf:cxfEndpoint id="mycxfBean" .... />
> ...
> <camelContext id="camel" trace="true"
> xmlns="http://camel.apache.org/schema/spring">
> <camel:routeBuilder ref="constructionRoute"/>
> </camelContext>
> ...
>  
> But when i want to adapt the camel route with value of "road", i could'nt
> find the variable in SOAP headers (i created a processor in order to search
> the variable in exchange.getIn.getHeaders, exchange.getBody ....). If I
> analyze network packets, my headers are propagated through my proxy with the
> correct value. I just can not retrieve the value.  
> If I change the dataformat to PAYLOAD, the proxy no longer works (HTTP
> operation failed invoking http://..... with statusCode: 500).
>  
> Where can i find my variable ? is there a possibility that I can retrieve my
> variable with an interceptor while keeping the message option for dataformat
> ?
>  
> Any help is welcome (documentation, example, ....)
>  
> Sorry for my english...
>  
>  
>  
>  
>  
> --
> View this message in context: http://camel.465427.n5.nabble.com/Camel-and-headers-tp5729277.html
> Sent from the Camel - Users mailing list archive at Nabble.com (http://Nabble.com).