Hi

I just checked the code of CxfBeanDestination, it doesn't copy the headers from the Camel in message to out message. I think we could do the same thing as CAMEL-2397[2]does, so I just fill a JIRA[2] for it.

If you want to keep those headers in the old version of camel, you need to put the headers into a map and put this map into message header with the key "org.apache.cxf.message.PROTOCOL_HEADERS".

[1]https://issues.apache.org/jira/browse/CAMEL-2397
[2]https://issues.apache.org/jira/browse/CAMEL-5115

On Sat Mar 24 05:46:55 2012, Calvert, Zach (Zach)** CTR ** wrote:
I have a problem where my message headers are being dropped.  The route looks 
like

         <camel:route>
             <camel:from 
uri="jetty:http://0.0.0.0:{{jetty.port}}/rest/?matchOnUriPrefix=true"; />
             <camel:log message="Message received from jetty"/>
             <camel:to 
uri="cxfbean:restfulService?headerFilterStrategy=#keepAllMessageHeadersStrategy" />
             <camel:log message="Message updated after CXF"/>  <!-at this point, 
the headers are gone -->
             <camel:to uri="bean:parser?method=handleHeaders" />
         </camel:route>

Now I've been trying to keep ALL of the headers via configuring a header filter 
strategy, but it doesn't seem to have any impact:

     <bean id="keepAllMessageHeadersStrategy" name="keepAllMessageHeadersStrategy" 
class="org.apache.camel.component.cxf.CxfHeaderFilterStrategy">
         <!--  Set relayHeaders to false to drop all SOAP headers -->
         <property name="relayAllMessageHeaders" value="true"/>
         <property name="relayHeaders" value="false"/>
     </bean>

<!-parsing details:-->
<bean id="parser" name="parser" class="motive.Parser">
     </bean>
     <util:list id="restfulService">
         <ref bean="parser"/>
     </util:list>

I have tried relayAllMessageHeaders set to both true/false and all permutations with 
relayHeaders being set to true/false.  My CXF bean doesn't do anything other than parse 
the Body.  Directly after calling to the cxfbean, all of the headers are dropped.  Now 
I'm using Camel 2.6.0, so I'm a bit behind the times, but the docs still seem to apply 
and I haven't found any bugs that look to be triggering issues with my efforts.  The 
CxfHeaderFilterStrategy is definitely being applied because I get exceptions/errors if I 
remove the "#" symbol, but it doesn't seem to have any impact.

Can someone tell me what I need to do to keep ALL of my headers after the 
cxfbean call?



Thanks,
Zach Calvert




--
Willem
----------------------------------
FuseSource
Web: http://www.fusesource.com
Blog:    http://willemjiang.blogspot.com (English)
         http://jnn.javaeye.com (Chinese)
Twitter: willemjiang
Weibo: willemjiang

--
Willem
----------------------------------
FuseSource
Web: http://www.fusesource.com
Blog:    http://willemjiang.blogspot.com (English)
         http://jnn.javaeye.com (Chinese)
Twitter: willemjiang
Weibo: willemjiang

Reply via email to