根据wsdl文件,Web工程自动生成webservice客户端调用

1,工具:带有webservice插件的eclips

注意:在生成客户端代码的同时,必须保证wsdl地址可以访问;

2,步骤:

(1),新建一个Web工程:WSDLTest

(2),浏览器访问WSDL页面:http://192.168.28.80:8006/rzzxservices/WebService?wsdl,并另存为WebService.wsdl,将其拷贝到WSDLTest工程的根目录下,如图:

e3e055ae037977012a91ee515d518ed1.png

(3)在eclipse的新建工程中的“其他“中找到webservice client,点击其上的browse按钮,选择之前的wsdl文件,点击完成,代码就生成了。

2fdebe4bd855935ea2f6a126ca39223c.png

生成代码,如下图:

5c82fd3882f75276fa6f8aaa70d6868f.png

生成的文件中,作为接口来使用的文件名为:####Stub.java。####因webservice的类名不同而不同。这个文件中就包含了webservice的所有方法。

(4),调用服务端的代码:

/*** Project Name:WSDLTest

* File Name:Client.java

* Package Name:com.xyzq.test

* Date:2017年12月4日下午3:59:31

* Copyright (c) 2017 All Rights Reserved.

**/

packagecom.xyzq.test;importjava.net.MalformedURLException;importnc.xyzq.uuib.service.impl.FrServiceImplPortBindingStub;importnc.xyzq.uuib.service.impl.FrServiceImplServiceLocator;importnc.xyzq.uuib.service.impl.SysTokenBean;importnc.xyzq.uuib.service.impl.UserBean;/*** ClassName:Client

* Function: TODO

* Reason: TODO

* Date: 2017年12月4日 下午3:59:31

*@authorlizm

*@sinceJDK 1.6

**/

public classClient {public static voidmain(String[] args) {//TODO Auto-generated method stub

FrServiceImplServiceLocator service = newFrServiceImplServiceLocator();

java.net.URL url;try{

url= new java.net.URL("http://192.168.28.80:8006/rzzxservices/WebService?wsdl");

FrServiceImplPortBindingStub stub= newFrServiceImplPortBindingStub(url, service);

SysTokenBean sysTokenBean= newSysTokenBean();

UserBean userBean= newUserBean();

userBean.setClientIp("192.168.28.81");

userBean.setTs("");

userBean.setUserid("admin");

userBean.setVef("1");

sysTokenBean=stub.getSysToken(userBean);

System.out.println("sysTokenBean>>>"+sysTokenBean.getToken());

}catch(Exception e) {//TODO Auto-generated catch block

e.printStackTrace();

}

}

}

在调用##Stub.java中的方法之前,必须要实例化,具体如下:

ServiceLocator service = newServiceLocator();

java.net.URL url= new newjava.net.URL(wsdl地址);

ServiceStub stub= new ServiceStub(url, service);

自动生成WSDL客户端还有其他方法,这只是其中一种;

例如:采用插件axis2-1.6.1、JDK自带插件wsdl2命令等;

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐