我正在 Apache camel 中开发工作流应用程序
业务用例:
- 服务在消费者端点公开
- 处理请求消息
- 调用外部 SOAP 服务,获取响应
- 检查响应 xml 中的特定标记,然后仅调用另一个外部 SOAP 服务
- 将最终响应返回给客户端
现在我陷入了第 4 步
我的骆驼路线是
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route streamCache="true">
<from uri="cxf:bean:proxyEndpoint"/>
<process ref="myProcessor"/>
<!-- processing request & logging -->
<setBody>
<!-- set request as body required for calling external web service -->
</setBody>
<to uri="cxf:bean:panEndpoint"/>
<!-- <to uri="file:C:/LOG" /> -->
<!-- <process ref="myProcessor2"/> -->
<log message=">>> ${body}" loggingLevel="INFO"/>
</route>
</camelContext>
我可以调用外部服务,但是<to uri="cxf:bean:panEndpoint"/>
如果我尝试记录正文,在路由到文件的情况下,我会得到相同的任意值。
当我尝试路由到处理器并打印时System.out.println(exchange.getIn().getBody());
,我得到了sun.net.www.protocol.http.httpurlconnection$httpinputstream
无法解析或处理的信息
当我尝试使用 TCP-IP Monitor 监控场景时,调用了外部服务并收到了正确的响应
任何帮助将不胜感激。