Camel CXF组件:服务响应后缺少标头

时间:2017-09-01 09:34:31

标签: web-services apache-camel camel-cxf

我的骆驼路线是CXF接收器&它需要调用另一个webService。我将请求存储在标题和放大器中。要求第二次服务。获得响应后,我无法检索标头中设置的原始请求。 我的路线如下:

 <route customId="true" id="wsRoute">
    <from uri="cxf:bean:ServiceEndpoint"/>
    <convertBodyTo type="com.customer.requestcustomeremail.SendEmailRequest"/>
    <setHeader headerName="req">
        <simple>${body}</simple>
    </setHeader>
    <to uri="bean:IDBReq"></to>
    <to uri="cxf:bean:idamServiceEndpoint"/>
    <setBody>
        <simple>
            ${header.req}
        </simple>
   </setBody>
   <to uri="bean:ServiceImpl?method=oper" />

错误消息:没有类型的正文:

  

com.customer.requestcustomeremail.SendEmailRequest但是有   值:   com.customer.requestcustomeremail.SendEmailRequest@1bcd32c6   类型:java.lang.String on:Message []。引起:无类型转换器   可以从类型:java.lang.String转换为所需类型:   com.customer.requestcustomeremail.SendEmailRequest with value   com.customer.requestcustomeremail.SendEmailRequest@1bcd32c6。   交换[ID-SYNPS31625-50686-1504258200956-0-2]。引起:   [org.apache.camel.NoTypeConversionAvailableException - 没有类型   转换器可以从类型:java.lang.String转换为   所需类型:   com.customer.requestcustomeremail.SendEmailRequest with value   com.customer.requestcustomeremail.SendEmailRequest@1bcd32c6]

有人可以帮忙!

1 个答案:

答案 0 :(得分:0)

您的路线无法将您的遗体转换为com.customer.requestcustomeremail.SendEmailRequest类型。