0

我的骆驼路线是一个 CXF 接收器,它需要调用另一个 web 服务。我将请求存储在标头中并请求了第二个服务。得到响应后,我无法检索标头中设置的原始请求。我的路线看起来像:

 <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,值为 com.customer.requestcustomeremail.SendEmailRequest@1bcd32c6。交换 [ID-SYNPS31625-50686-1504258200956-0-2]。原因:[org.apache.camel.NoTypeConversionAvailableException - 没有类型转换器可用于从类型:java.lang.String 转换为所需类型:com.customer.requestcustomeremail.SendEmailRequest,值为 com.customer.requestcustomeremail.SendEmailRequest@1bcd32c6]

有人可以帮忙吗!

4

1 回答 1

0

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

于 2017-09-04T17:37:16.020 回答