Java WebServiceContext保持为空
我用JAX-WS实现了两个web服务:Java WebServiceContext保持为空,java,jakarta-ee,jax-ws,Java,Jakarta Ee,Jax Ws,我用JAX-WS实现了两个web服务:RequestService和ExtendedRequestService ExtendedRequestService调用RequestService并向响应中添加附加数据。 调用RequestService时,会插入WebServiceContext,但从ExtendedRequestService调用时,它为null,代码抛出NullPointerException 如何正确初始化它 这就是我如何从ExtendedRequestService调用Req
RequestService
和ExtendedRequestService
ExtendedRequestService
调用RequestService
并向响应中添加附加数据。
调用RequestService
时,会插入WebServiceContext
,但从ExtendedRequestService
调用时,它为null,代码抛出NullPointerException
如何正确初始化它
这就是我如何从ExtendedRequestService
调用RequestService
:
RequestServiceImpl requestService = new RequestServiceImpl();
RequestServiceResponse requestServiceResponse = requestService.performRequest(requestServiceRequest);
不确定这是否是最佳解决方案,但这似乎可以正常工作: 在服务实现中这样声明
WebServiceContext
:
private WebServiceContext wsContext;
@Resource
public void setContext(WebServiceContext context) {
this.wsContext = context;
}
然后,当您需要从ExtendedRequestService
调用RequestService
时,请使用:
RequestServiceImpl requestService = new RequestServiceImpl();
requestService.setContext(wsContext); //The WebServiceContext of your ExtendedRequestService class
RequestServiceResponse requestServiceResponse = requestService.performRequest(requestServiceRequest);
您使用的是什么应用服务器?经过进一步测试,此解决方案似乎可以完美地工作,因此我接受我的答案。