我正在开发一款安卓应用程序。我需要使用一个Web服务。我有一个WSDL文件,但我想将其转换为Java,以便我可以在我的Java程序中使用其功能。是否有将WSDL文件转换为Java的方法?
我正在开发一款安卓应用程序。我需要使用一个Web服务。我有一个WSDL文件,但我想将其转换为Java,以便我可以在我的Java程序中使用其功能。是否有将WSDL文件转换为Java的方法?
我认为生成Java类的最佳工具是“cxf wsdl2java”。它非常简单易用。我在使用axis2时遇到了一些数据类型方面的复杂性。
但不幸的是,在Android环境中编译时,"java / javax"包名称不被允许,除非你重命名包名称,否则你不能在Android应用中使用客户端存根代码。
在android.jar中,所有用于Web服务消费的javax.*源都不可用。为解决这些问题,我开发了WS Client Generation Tool以供Android使用。
它后台使用"cxf wsdl2java"为Android平台生成Java客户端存根,并编写了一些代码来以更智能的方式消费Web服务。
只需提供wsdl文件位置,它就会为您提供源代码和一些库。您只需要将源代码和库放入您的项目中,然后可以像在我们的企业项目中一样以“方法调用方式”调用它,无需知道命名空间/soap action等信息。例如,如果您有一个登录服务,您只需要执行以下操作:
LoginService service = new LoginService ( );
Login login = service.getLoginPort ( );
LoginServiceResponse resp = login.login ( "someUser", "somePass" );
它完全开放且免费。
JDK 6自带wsimport工具,可以用来从WSDL创建Java类。同时也会生成一个Service类。
http://docs.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html
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);