如何从WSDL文件生成java类

Far*_*an 25 java android wsdl web-services

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

Osc*_*mez 26

是的你可以使用:

Wsdl2java eclipse插件

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

  • Android中是否支持这些java类? (2认同)

Asr*_*que 12

只是为了生成从wsdl到我的java类,最好的工具是"cxf wsdl2java".它非常简单易用.我发现在axis2中有一些数据类型的复杂性.但遗憾的是,您无法在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" );
Run Code Online (Sandbox Code Playgroud)

它完全开放,免费.


小智 8

jdk 6附带了wsimport,您可以使用它来从WSDL创建Java类.它还创建了一个Service-class.

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


Vin*_*ini 5

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


小智 5

我创建了一个很棒的工具来自动解析和连接到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);
Run Code Online (Sandbox Code Playgroud)


Geo*_*eno 5

假设您已安装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的链接