我在Eclipse中使用嚮導將JAX-WS處理程序添加到我的項目中。它實現SOAPHandler。JAX-WS處理程序 - handleMessage未運行
然後,在Project Explorer中,在下的JAX-WS Web服務>服務端點接口> MyServiceSoap中,我使用了配置處理程序的選項。我指出我的Handler類和新文件是在MyServiceSoap.java文件所在的同一個文件夾中創建的handler-chain.xml。
我看着我的MyServiceSoap.java,我看到聲明@HandlerChain(文件=「處理-chain.xml」)
所以,據我所知,所有的作品都很到位。但是,當我嘗試調用此服務時,handleMessage永遠不會被調用。
這裏是我的handleMessage代碼:
@Override
public boolean handleMessage(SOAPMessageContext context) {
SOAPMessage msg = context.getMessage();
return true;
}
我設置斷點在此方法,希望我將能夠看到被髮送到遠程Web服務消息的內容。 我還必須注意到,當我嘗試使用此服務時,出現錯誤「WebServiceException:頭中沒有內容類型」。所以,也許,這個錯誤發生在handleMessage有機會運行之前。
如果有人能爲這個主題提供更多的燈光,我將不勝感激。謝謝。
你是正確的。這個請求從來沒有像處理程序那樣做,更不用說web服務impl本身。無論你使用這個服務,它都不會設置Content-type頭(應該是application/xml) – kolossus