如何从WSDL文件生成java类

我正在努力开发一个Android应用程序。 我需要使用Web服务。 我有一个wsdl文件,但我想将其转换为java,以便我可以在我的Java程序中使用它的函数。 有没有办法将wsdl文件转换为Java?

Solutions Collecting From Web of "如何从WSDL文件生成java类"

是的你可以使用:

Wsdl2java eclipse插件

有了这一切,您需要的是提供wsdl,并且将自动为您生成Java类的客户端。

只是为了生成从wsdl到我的java类,最好的工具是“cxf wsdl2java”。 它非常简单易用。 我发现在axis2中有一些数据types的复杂性。 但遗憾的是,您不能在Android应用程序中使用这些客户端存根代码,因为除非重命名包名称 ,否则android环境不允许在编译时使用“java / javax”包名称。

并且在android.jar中,所有用于Web服务消耗的javax。*源都不可用。 为了解决这些问题,我开发了这个用于android的WS客户端生成工具 。

在后台,它使用“cxf wsdl2java”为您生成Android平台的Java客户端存根,并且我已经编写了一些来源以更智能的方式使用Web服务。

只需给出wsdl文件位置,它将为您提供源代码和一些库。 你必须把源和库放在你的项目中。 你可以在我们的企业项目中以一种“方法调用方式”调用它,你不需要知道命名空间/肥皂动作等。例如,你有一个登录服务,你需要做什么是:

LoginService service = new LoginService ( ); Login login = service.getLoginPort ( ); LoginServiceResponse resp = login.login ( "someUser", "somePass" ); 

它完全开放,免费。

jdk 6附带了wsimport ,您可以使用它来从WSDL创建Java类。 它还创建了一个服务类。

http://docs.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html

我创建了一个伟大的工具来自动解析和连接到Web服务

http://www.wsdl2code.com

http://www.wsdl2code.com/pages/Example.aspx

  SampleService srv1 = new SampleService(); req = new Request(); req.companyId = "1"; req.userName = "userName"; req.password = "pas"; Response response = srv1.ServiceSample(req); 

假设您已安装JAXB请转到以下目录C:\ Program Files \ jaxb \ bin打开命令窗口

> xjc -wsdl http://localhost/mywsdl/MyDWsdl.wsdl C:\ Users \ myname \ Desktop

C:\ Users \ myname \ Desktop是您可以根据自己的喜好更改的输出文件夹

http://localhost/mywsdl/MyDWsdl.wsdl是WSDL的链接

您可以使用之前Oscar建议的eclipse插件。 或者,如果您是命令行人员,则可以从命令提示符处使用Apache Axis WSDL2Java工具。 您可以在http://axis.apache.org/axis/java/reference.html#WSDL2JavaReference中find更多详细信息。

您可以使用WSDL2JAVA Codegen (或)您只需使用Eclipse IDE中提供的“ Web Service / WebServiceClient ”向导即可。 打开IDE并按“Ctrl + N”,选择“ Web Service / WebServiceClient ”,指定wsdl URL,输出文件夹并选择完成。

它创建了您需要的完整源文件。

我有非常复杂的WCF Web服务,我尝试了一些不同的工具,但在大多数情况下,我无法连接到我的Web服务。 最后我用过这个:

http://easywsdl.com/

这只是一个工具,它可以生成无需任何更改即可运行的类!