如何使用 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 类?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Eclipse 中使用 gson 将 ResultSet Query 转换为 JSON?
eclipse上怎么使用wsdl2java工具生成webservice客户端