【发布时间】:2019-03-16 14:21:29
【问题描述】:
我有以下用例。
- service1 的 ws-inbound 网关接收到请求。
- Service1 将请求传递给另一个 ws-outbound 网关 service2
- Service2 ws 入站网关配置了一个拦截器,它在响应中添加了一个自定义的 soap 标头
- 来自服务 2 的响应被传递到服务 1 的输出通道(最终响应)。
我可以看到通过在拦截器 (service2) 中打印soap 信封来添加soap 标头,但它不存在于最终响应中。任何解决此问题的建议都会有所帮助
【问题讨论】:
-
如果您确实需要第一个服务的 SOAP 模型,请不要。也许只是原始的 HTTP 代理就足够了?我的意思是
<int-http:inbound-gateway> -> <int-http:outbound-gateway>。第二个仍然是 WS Adapters 对。此外,请确认您在网络上看到了您的标头。 -
嗨,是的,我也需要第一个服务的 SOAP 模型。这两项服务目前都部署在我的本地机器上。
-
好的。所以,请给我一个确认,确认您的标头通过网络传输。您的服务在本地并不重要,您的
<int-ws:outbound-gateway>向某些http://localhost:9999发送请求,因此涉及网络,您可以使用某些工具拦截该流量。 -
您好,我尝试拦截 Service1 并添加响应标头。这次它工作正常。但是如果在Service2中添加,并且响应传递给service1,那就不行了