2016-03-15 54 views
3

我有兩個使用JAX-WS實現的Web服務:RequestServiceExtendedRequestServiceWebServiceContext爲空

ExtendedRequestService調用RequestService並將其他數據添加到響應中。 當調用RequestService時,WebServiceContext被注入,但從ExtendedRequestService調用它時,它爲空,並且代碼拋出NullPointerException

我該如何正確初始化它?

這是我怎麼稱呼RequestServiceExtendedRequestService

RequestServiceImpl requestService = new RequestServiceImpl(); 
RequestServiceResponse requestServiceResponse = requestService.performRequest(requestServiceRequest); 
+0

您使用的是什麼應用程序服務器? – aribeiro

回答

0

不知道這是最好的解決辦法,但這似乎正常工作:

聲明WebServiceContext像這樣在你的服務實現:

private WebServiceContext wsContext; 

@Resource 
public void setContext(WebServiceContext context) { 
    this.wsContext = context; 
} 

然後當您需要撥打從您的ExtendedRequestService您se:

RequestServiceImpl requestService = new RequestServiceImpl(); 
requestService.setContext(wsContext); //The WebServiceContext of your ExtendedRequestService class 
RequestServiceResponse requestServiceResponse = requestService.performRequest(requestServiceRequest); 
+0

經過進一步測試,此解決方案似乎完美無缺地工作,因此我會接受我的答案。 – Vektor88