1

我使用 CXF 作为 SOAP 框架。我有用于同步和异步调用的服务器和客户端接口。

我需要的是拦截 HTTP 响应。更详细:

  • 对于服务器接口(两种方式 - 同步):我需要拦截客户端 HTTP 响应(即,如果一切正常,则为 200)

  • 对于客户端接口(一种方式 - 没有肥皂响应):与上面类似,我需要拦截服务器 HTTP 响应

我尝试同时配置 inInterceptor 和 outInterceptor,但我只能看到 inBound 和 outBound 肥皂消息。相反,我需要的是查看出站消息的 HTTP 响应。

提前致谢。

4

2 回答 2

0

你试过 ReadHeadersInterceptor 吗?您是否尝试过以编程方式和配置添加拦截器。这里的例子 - http://cxf.apache.org/docs/interceptors.html

如果您真的在关注 HTTP 标头而不是 SOAP,那么您可能不需要 SOAP 来执行此操作。您可以直接阅读它们。检查这些示例

于 2013-09-24T21:03:36.817 回答
0

也许现在回答还为时不晚:-)

我遇到了同样的问题,调试后我发现 CXF 客户端在从输入流中读取响应实体之前运行拦截器。因此,获得响应的唯一方法是:

InputStream is = inMessage.getContent(InputStream.class)

并阅读并编组适当的回应。

于 2020-02-28T12:25:20.080 回答