从Apache CXF POJO服务获取HTTP头信息

3

如何从CXF POJO服务中获取HTTP头部?

我有以下代码,但它不起作用:

ServerFactoryBean svrFactory = new ServerFactoryBean();
svrFactory.setServiceClass(TestService.class);
svrFactory.setAddress("http://localhost:8080/test");
svrFactory.getServiceFactory().setDataBinding(new AegisDatabinding());
svrFactory.create();

public class TestService {

    protected javax.xml.ws.WebServiceContext wsContext;

    public void someMethod() {
       // the problem is that wsContext.getMessageContext() is null
    }
}

谢谢!

1个回答

6

您需要在wsContext变量上添加@Resource,并切换到使用JaxWsServerFactoryBean。

或者,使用:

PhaseInterceptorChain.getCurrentMessage()

获取当前的CXF内部消息并从中获取标头。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接