我有一个WSDL文件(或者更准确地说,它的URL)。我需要将其转换为Java类。我还需要为它描述的网络服务提供测试。 我是网络服务的新手,所以谁能告诉我如何将WSDL转换为Java?
我使用Eclipse JEE Kepler。也许有一些插件可以自动完成这个工作?
在Eclipse Kepler中很容易生成Web Service Client类,你可以通过以下步骤实现。
右键点击任何项目->创建新的其他->Web服务->Web服务客户端->然后在服务定义中粘贴wsdl网址(或位置)->下一步->完成。
你会看到生成的类在你的src文件夹里。
注意:如果没有eclipse,你也可以通过使用JDK中的wsimport命令工具从wsdl文件中生成客户端类。
请参考此链接 使用wsdl创建Web服务客户端 。
我不建议使用Eclipse工具来生成WS客户端,因为我对它有不好的经验:
我不太确定这是否重要,但我不得不消费一个用.NET编写的WS。当我使用Eclipse的"New Web Service Client"工具时,它使用Axis (version 1.x)生成了Java类,正如你所看到的,它已经很老了(最后一个版本来自2006年)。有一个较新的版本,虽然它有一些重大变化,但Eclipse不使用它。
你会说为什么Axis的旧版本很重要?因为在使用OpenJDK时,你可能会遇到一些问题,比如在OpenJDK中缺少加密算法,而这些算法在Oracle'的JDK中是存在的,而且一些库(比如这个库)依赖于它们。
所以我就用了wsimport工具,结束了我的头疼。
开放大学的Eclipse团队准备了以下文件,其中包括创建带有测试的代理类。 这可能是你正在寻找的东西。
http://www.eclipse.org/webtools/community/education/web/t320/Generating_a_client_from_WSDL.pdf
一切都包含在Dynamic Web Project模板中。
在该项目中创建一个Web服务客户端。这将启动一个向导,让你指出一个wsdl网址并为你创建带有测试的客户端。
这项任务的用户指南(针对indigo)可以在http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.jst.ws.cxf.doc.user%2Ftasks%2Fcreate_client.html。