2012-10-21 56 views
2

我正在開發一個應用程序,該應用程序應作爲Web服務的客戶端。在Java 1.5中編譯WS客戶端 - 缺少WebService樣註釋

我已經使用wsimport實用程序基於WSDL文件生成了源文件。它可以在我的開發機器上使用JDK 1.7正常工作(例如,編譯和運行正常)。

儘管在測試環境中,我甚至無法編譯應用程序,但在JDK 1.5中。我收到一堆錯誤,如下所示:

Cannot find symbol: class WebMethod 

懷疑問題在於較小版本的JDK。

我應該怎麼做才能解決這個問題更新應用程序以成爲Java 1.5兼容?

它必須運行一個獨立的控制檯應用程序。

+0

@WebServiceClient註解產生我會以爲這有什麼做註解。但是,自1.5開始註釋以來,程序在1.5版本上無法運行,這很奇怪。也許你應該用'-source 1.5'進行編譯,看看它是否有幫助? –

+0

我相信已經讀過類似WebService的註釋沒有添加到JSE JDK直到Java版本6.我不知道如何解決這個問題(例如包含哪些JAR)作爲安裝JEE JDK可能不是一個選項。 –

+0

事實證明,在生產環境中升級到Java 1.6是可行的。儘管如此,我不會改變原來的問題來反映這個事實,因爲它不再有意義。 –

回答

3

你是對的,它是你的JDK的函數,JAX-WS(註釋)包含在J2SE JDK v1.6中。在1.5中不存在。它生活在JDK外部,如Project Metro,sample code

0

您可以使用wsimport實用程序和-target 2.0選項重新生成源類。

生成的源文件是jdk 1.5兼容並且不使用@WebService和@WebMethod註釋(與jdk 1.6一起引入)。

客戶端類將包含在javax.xml.ws

@WebServiceClient(name = "ContestService", targetNamespace = "", wsdlLocation = "file:/C:/sviluppo/Lavoro/ContestWS/contestWS.wsdl")