如何使用Eclipse将WSDL转换为Java类?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Eclipse将WSDL转换为Java类?相关的知识,希望对你有一定的参考价值。
我有一个WSDL文件(或者更确切地说,它的URL)。我需要将它转换为Java类。我还需要为它描述的Web服务提供测试。我是Web服务的新手,有人可以告诉我如何将WSDL转换为Java吗?
我使用Eclipse JEE Kepler。也许有一些插件可以自动执行此操作?
在Eclipse Kepler中,生成Web Service Client类非常容易,您可以通过以下步骤来实现。
右键单击任何项目 - >创建新的其他 - > Web服务 - > Web服务客户端 - >然后将wsdl URL(或位置)粘贴到服务定义 - >下一步 - >完成
您将看到生成的类位于src文件夹中。
注意:如果没有eclipse,您也可以使用随JDK提供的wsimport命令实用程序从wsdl文件生成客户端类。
请参阅此链接Create Web service client using wsdl
您需要在命令行中执行下一步:
wsimport -keep -s (name of folder where you want to store generated code) urlToWsdl
例如:
wsimport -keep -s C:// NewFolder https://www.blablabla.com
我不建议使用Eclipse工具生成WS Client,因为我对它有不好的经验:
我不确定这是否重要,但我不得不使用.NET编写的WS。当我使用Eclipse的“新Web服务客户端”工具时,它使用Axis (version 1.x)生成Java类,您可以检查它是否旧(2006年的最新版本)。有a newer version虽然有一些重大的变化,但Eclipse不使用它。
为什么Axis的旧版本很重要你会说什么?因为在使用OpenJDK时,您可能会遇到一些问题,比如OpenJDK中的missing cryptography algorithms,它们出现在Oracle的JDK中,而像这样的库依赖于它们。
所以我只是使用了wsimport工具并结束了我的头痛。
选项包括:
- Oracle的Wsimport使用JAXB
- 来自Apache的Axis
- 来自Apache的CXF
- 来自Apache的Axis2提供ADB(默认),Apache XmlBeans或JiBX之间的数据绑定选择
在接听电话之前,请仔细阅读以上链接
开放大学的Eclipse团队准备了以下文档,其中包括使用测试创建代理类。它可能就是你要找的东西。
http://www.eclipse.org/webtools/community/education/web/t320/Generating_a_client_from_WSDL.pdf
一切都包含在Dynamic Web Project模板中。
在项目中创建Web服务客户端。这将启动一个向导,您可以指出一个wsdl url并为您创建带有测试的客户端。
用于此任务的用户指南(针对靛蓝)可在http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.jst.ws.cxf.doc.user%2Ftasks%2Fcreate_client.html找到。
在Windows中使用命令提示符,您可以使用以下命令来获取类文件。
wsimport "complete file path of your .wsdl file"
example : wsimport C:Usersschemascommyprofilemyprofile2019.wsdl
如果你想生成源代码,你应该使用下面的命令。
wsimport -keep -s src "complete file path of your .wsdl file"
example : wsimport -keep -s src C:Usersschemascommyprofilemyprofile2019.wsdl
注意:这里“-s”表示源目录,“src”是应该在执行此命令之前创建的文件夹的名称。 Wsimport是一个与JAVA SE捆绑在一起的工具,不需要单独下载。
以上是关于如何使用Eclipse将WSDL转换为Java类?的主要内容,如果未能解决你的问题,请参考以下文章
eclipse上怎么使用wsdl2java工具生成webservice客户端