我创建了一个简单的cxf Web服务。以下是肥皂消息的主体
<soapenv:Body>
<bean:getRTOEmployeeSalary>
<!--Optional:-->
<bean:arg0>sdf</bean:arg0>
</bean:getRTOEmployeeSalary>
</soapenv:Body>
我的要求是在我的camel上下文文件中提取arg0的值。即我想记录arg0的值。请帮帮我
<route routePolicyRef="loggingInInterceptor">
<from uri="cxf:bean:rtoemplyeeService"/>
<setHeader headerName="exchange">
<spel>${exchange}</spel>
</setHeader>
<log message="value of arg0======== "/>
<convertBodyTo type="java.lang.String" id="stringInput"/>
<bean ref="rtoEmpBean" method="getRTOEmployeeSalary" beanType="rtoEmpBean" id="govtRTOEmp"/>
</route>
我需要在这里使用arg0的值。
答案 0 :(得分:0)
我们可以使用camel提供的spring表达式语言从交换对象中提取值。由于交换对象也驻留在弹簧容器中。 下面将是代码src,用于在camel context中提取arg0的值 -
<setHeader headerName="arg0">
<spel>#{exchange.in.body.get(0)}</spel>
</setHeader>
这将在名为arg0的标头中设置soap消息的arg0值。 http://camel.apache.org/spel.html