如何使用 Eclipse 将 WSDL 转换为 Java 类?

Posted

技术标签:

【中文标题】如何使用 Eclipse 将 WSDL 转换为 Java 类?【英文标题】:How do you convert WSDLs to Java classes using Eclipse? 【发布时间】:2014-04-23 00:35:20 【问题描述】:

我有一个 WSDL 文件(或者更准确地说,它的 URL)。我需要将其转换为 Java 类。我还需要为其描述的 Web 服务提供测试。 我是 Web 服务的新手,谁能告诉我如何将 WSDL 转换为 Java?

我使用 Eclipse JEE Kepler。也许有一些插件可以自动执行此操作?

【问题讨论】:

提示:在 Google 中搜索 wsimport :) 【参考方案1】:

在 windows 中使用命令提示符,您可以使用以下命令来获取类文件。

wsimport "complete file path of your .wsdl file"
example : wsimport C:\Users\schemas\com\myprofile\myprofile2019.wsdl

如果你想生成源代码,你应该使用下面的命令。

wsimport -keep -s src "complete file path of your .wsdl file"
example : wsimport -keep -s src C:\Users\schemas\com\myprofile\myprofile2019.wsdl

注意:这里的“-s”表示源目录,“src”是执行此命令前应创建的文件夹名称。导入 是与 JAVA SE 捆绑在一起的工具,无需单独下载 必填。

【讨论】:

【参考方案2】:

选项是:

来自 Oracle 的 Wsimport 使用 JAXB Axis 来自 Apache CXF 来自 Apache 来自 Apache 的Axis2 提供ADB 之间的选择(默认), Apache XmlBeans 或 JiBX 用于数据绑定

接听电话前请阅读以上链接

【讨论】:

【参考方案3】:

你需要在命令行中执行下一步:

wsimport -keep -s (name of folder where you want to store generated code) urlToWsdl

例如:

wsimport -keep -s C://NewFolder https://www.blablabla.com

【讨论】:

【参考方案4】:

我不建议使用 Eclipse 工具生成 WS 客户端,因为我对它的体验很糟糕:

我不确定这是否重要,但我不得不使用用 .NET 编写的 WS。当我使用 Eclipse 的“新 Web 服务客户端”工具时,它使用 Axis (version 1.x) 生成 Java 类,您可以检查它是旧的(2006 年的最新版本)。 a newer version 虽然有一些重大变化,但 Eclipse 没有使用它。

为什么旧版本的 Axis 很重要?因为在使用 OpenJDK 时,您可能会遇到一些问题,例如在 Oracle 的 JDK 中出现的 OpenJDK 中的missing cryptography algorithms,并且像这样的一些库依赖于它们。

所以我只是使用了wsimport 工具并结束了我的头痛。

【讨论】:

【参考方案5】:

在 Eclipse Kepler 中很容易生成 Web Service Client 类,您可以通过以下步骤来实现。

右键单击任意项目->新建其他->Web服务->Web服务客户端->然后将wsdl url(或位置)粘贴到服务定义->下一步->完成

您将看到生成的类在您的 src 文件夹中。

注意:如果没有 Eclipse,您也可以使用 JDK 附带的 wsimport 命令实用程序从 wsdl 文件生成客户端类。

参考此链接Create Web service client using wsdl

【讨论】:

我在 Eclipse 中有两个动态 Web 项目,运行此向导时只能选择“其他”项目。他们似乎都有相同的设置。 Servlet 2.5 等有什么线索吗? @Ashok 我有同样的问题,我正在使用 Eclipse Indigo 我确实右键单击我的一个项目有一个新的-> 其他但之后没有 Web 服务选项,请你帮我弄清楚? 我无法在Select Service Implementation 屏幕上浏览到磁盘上的 WSDL?【参考方案6】:

The Open University 的 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 可以找到此任务的用户指南(尽管针对 indigo)。

【讨论】:

打开大学pdf文件只是一步一步的指导。它不会为您提供有关使用的选项和配置的任何解释。

以上是关于如何使用 Eclipse 将 WSDL 转换为 Java 类?的主要内容,如果未能解决你的问题,请参考以下文章

java 如何生成wsdl文件

如何在 Eclipse 中使用 gson 将 ResultSet Query 转换为 JSON?

eclipse上怎么使用wsdl2java工具生成webservice客户端

如何将 Eclipse 运行配置转换为 .bat 文件

Visual Studio:如何将 wsdl 集成到 Web 服务中?

Eclipse 插件:如何将“java.lang.string”转换为 IEditorInput?