0

我创建了一个简单的 cxf Web 服务。以下是肥皂消息的正文

 <soapenv:Body>
      <bean:getRTOEmployeeSalary>
         <!--Optional:-->
         <bean:arg0>sdf</bean:arg0>
      </bean:getRTOEmployeeSalary>
   </soapenv:Body>

我的要求是在我的骆驼上下文文件中提取 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 的值。

4

1 回答 1

0

我们可以使用camel提供的spring表达式语言来从exchange对象中提取值。由于交换对象也驻留在弹簧容器中。下面将是代码 src,用于在骆驼上下文中提取 arg0 的值-

<setHeader headerName="arg0">
        <spel>#{exchange.in.body.get(0)}</spel>
</setHeader>

这将在名为 arg0 的标头中设置 soap 消息的 arg0 的值。 http://camel.apache.org/spel.html

于 2014-01-03T05:26:14.680 回答