2012-10-21 48 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")