使用CXF拦截HTTP响应

时间:2013-09-24 08:20:45

标签: java web-services soap cxf

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

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

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

  • 对于客户端界面(单向 - 没有肥皂响应): 与上面类似,我需要拦截服务器HTTP响应

我尝试配置inInterceptor和outInterceptor,但我只能看到inBound和outBound soap消息。相反,我需要看到outBound消息的HTTP响应。

提前致谢。

2 个答案:

答案 0 :(得分:0)

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

如果您真的在使用HTTP头而不是SOAP,那么您可能不需要SOAP来执行它。你可以直接阅读它们。查看这些示例

答案 1 :(得分:0)

也许答案还为时不晚:-)

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

InputStream is = inMessage.getContent(InputStream.class)

阅读并整理适当的回复。