2014-01-02 6 views
0

Я создал простой веб-сервис cxf. следующее тело тела мыльного сообщенияКак извлечь значение из объекта Exchange в camel esb

<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 здесь.

ответ

0

Мы можем использовать язык выражения весны с верблюдом, чтобы извлечь значение из объекта обмена. Так как объект обмена также находится в весеннем контейнере. ниже будет код SRC, чтобы извлечь значение arg0 в верблюд контекст-

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

Это установит значение arg0 мыла сообщения в заголовке имени arg0. http://camel.apache.org/spel.html