【问题标题】:Camel CXF Component: Headers missing after service responseCamel CXF 组件:服务响应后缺少标头
【发布时间】:2018-02-10 08:11:21
【问题描述】:

我的骆驼路线是一个 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[]。原因:无类型转换器 可从 type: 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]

有人可以帮忙吗!

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 你可以试试test,不转换你的body,看看你会不会出现类似的错误。
    猜你喜欢
    • 1970-01-01
    • 2021-07-07
    • 2019-02-25
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多