将Camel Exchange属性写入HTTP标头

时间:2013-05-30 06:45:07

标签: spring http apache-camel

我有一个Camel路由,其中​​包含在Spring XML中配置的几个步骤。在最后一步之后,我想使用Exchange属性中的值设置标题条目Content-Type。我怎样才能做到这一点?

<route id="servlet.direct">        
    <from uri="direct:onlinePlatformExport"/>
    <bean ref="exportService" method="doSomething"/>
    <to uri="smooks://META-INF/spring/a.xml"/>                
    <bean ref="charsetConverterService" method="convertBody"/>
    <setHeader headerName="Content-Type">
       <constant>text/xml</constant>
    </setHeader>
</route>

2 个答案:

答案 0 :(得分:1)

我找到了答案。您可以使用Groovy访问交换对象。

<setHeader headerName="Content-Type">
   <groovy>"text/xml; charset=${exchange.properties[<your-key>]}"</groovy>
</setHeader>

答案 1 :(得分:0)

您可以按照以下方式执行此操作:

<setHeader headerName="Content-Type">
    <simple>${property.myProperty}</simple>
</setHeader>