我在Apache CXF上使用安全拦截器WSS4JInInterceptor
。
有没有办法将数据从拦截器传递到webservice?
我一直在WebServiceContext
中搜索,但我找不到。
答案 0 :(得分:4)
您可以使用CXF Exchange地图存储任意键/值对。 Exchange可用于输入和输出消息。在拦截器中,将对象添加到Exchange,例如
Object value = ...;
message.getExchange().put("key", value);
在您的服务中,您可以使用PhaseInterceptorChain.getCurrentMessage()访问交换并检索对象,例如
Object value = PhaseInterceptorChain.getCurrentMessage().getExchange().get("key");