1

我正在使用带有 Apache CXF 的安全拦截器WSS4JInInterceptor

有没有办法将数据从拦截器传递到 web 服务?

我一直在寻找它,WebServiceContext但我找不到它。

4

1 回答 1

4

您可以使用 CXF交换映射来存储任意键/值对。Exchange 可用于输入和输出消息。在您的拦截器中,将对象添加到 Exchange,例如

Object value = ...;
message.getExchange().put("key", value);

在您的服务中,您可以使用PhaseInterceptorChain.getCurrentMessage()访问交换并检索对象,例如

Object value = PhaseInterceptorChain.getCurrentMessage().getExchange().get("key");
于 2014-10-06T21:39:44.203 回答