我的骆驼路线是一个 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]
有人可以帮忙吗!