【问题标题】:How to extract value from Exchange object in camel esb如何从骆驼esb中的Exchange对象中提取价值
【发布时间】:2014-01-02 09:46:09
【问题描述】:

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

 <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 的值。

【问题讨论】:

    标签: apache-camel fuseesb jbossfuse


    【解决方案1】:

    我们可以使用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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 2017-01-30
      • 2019-02-23
      • 2023-03-22
      • 1970-01-01
      相关资源
      最近更新 更多