gpt4 book ai didi

java - Camel 代理网络服务返回一个空 SOAP 信封

转载 作者:行者123 更新时间:2023-11-30 04:30:24 25 4
gpt4 key购买 nike

我正在使用 Camel 代理 Web 服务(我需要首先修改肥皂头)。我使用 CXF_MESSAGE 数据格式,因为它允许我轻松更改肥皂头。使用soapui发送肥皂消息工作正常,我可以看到它到达真正的网络服务,但是,响应始终是一个空肥皂信封?当我切换到 MESSAGE 数据格式时,响应是正确的(但我无法更改 SOAP header )。

我做错了什么?为什么数据格式会改变输入/输出行为?

<cxf:cxfEndpoint id="broker">
...
</cxf:cxfEndpoint>

<camelContext id="camelContext" xmlns="http://camel.apache.org/schema/spring">
<endpoint id="realWS" uri="http://localhost:8080/service?throwExceptionOnFailure=true" />

<route>
<from uri="cxf:bean:broker?dataFormat=CXF_MESSAGE" />
<to ref="realWS" />
</route>
</camelContext>

最佳答案

据我所知,根本不存在这样的CXF_MESSAGE数据格式。有POJO(默认)、PAYLOADMESSAGE。使用 MESSAGE 数据格式,您将无法处理任何 SOAP - 此模式适用于无 SOAP 处理。

为了处理 SOAP header ,您需要指定 PAYLOAD 数据格式。然后您就可以处理 SOAP header 。检查here这个怎么做。 注意:在此链接中,路由是通过 Java 代码完成的。为了通过 Spring 执行此操作,您必须创建自己的 Processor然后从 URI 将消息转发到自定义处理器,修改 header 并将其发送回真实端点。

另请参阅:

关于java - Camel 代理网络服务返回一个空 SOAP 信封,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14769063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com