2009-09-25 56 views
0

目前,我們有這個JAX-WS和註釋

@WebServiceRef(wsdlLocation = "META-INF/wsdl/localhost_8080/SwitchWSService/SwitchWebService.wsdl") 
private SwitchWSService switchWS; 

我們不能指向真正的Web服務,它仍然正常工作。

@WebServiceRef(wsdlLocation = "www.web.com/SwitchWSService/SwitchWebService.wsdl") 
private SwitchWSService switchWS; 

回答

3

的JAX-WS 2.0 spec章7.9表示:

wsdlLocation:

的URL指向的 服務的WSDL文件的位置 被提及。
...
的wsdlLocation元件,如果 本,覆蓋theWSDL位置在 引用生成的服務類的 WebService的註釋指定 信息。

所以你的方法是基本上好的。但嚴格來說

www.web.com/SwitchWSService/SwitchWebService.wsdl

不是一個URL,因爲一般的URL或URI必須以scheme開始(見RFC 3986)。

+0

是的,你碰巧是對的。我刪除了我的答案。 – 2009-09-25 21:58:07

0

讓我看看,你希望你的WSDL發佈到某個外部URL上,然後讓客戶端從URL中獲取WSDL。這意味着您的服務將不會成爲WSDL下載的源,因此您無需爲其提供任何wsdlLocation。