上一节中讲到WebService的基本使用,但是我们可以发现我们创建的客户端是依赖应用程序的接口的如下:
很显然在项目开发过程中不可能烤着相应的接口来进行开发。下面介绍JDK提供的工具wsimport.exe,下图是他的使用介绍:
?红色部分为常用参数,使用形式如下:
wsimport -d D:/Download/test/ -keep(是否导出源文件) -p(指定生成的包名) -verbose http://localhost:5050/my?wsdl(网络中的wsdl文件)
?
下面是我使用上节例子导出的源码:
?新建一个新项目:Temp_Client将刚刚导出的代码导入该项目:
?
看一下客户端的实现,并且与之前的使用方法进行对比:
class="java" name="code">public static void main(String[] args) { try { //提供服务的WSDL URL url = new URL("http://localhost:5050/my?wsdl") ; //http://service.hz.gd/:服务的命名空间 //MyServiceService:服务名称 QName qName = new QName("http://service.hz.gd/", "MyServiceService") ; Service service = Service.create(url, qName) ; IMyService myService = service.getPort(IMyService.class) ; System.out.println(myService.num(2, 5)); //使用wsimport IMyService myService2 = new MyServiceService().getMyServicePort() ; System.out.println(myService2.num(2, 5)); } catch (MalformedURLException e) { e.printStackTrace(); } }
?
通过使用wsimport,我们很方便的调用提供WebService服务的相关程序
下面是Temp_Client源码:
http://www.kuaipan.cn/file/id_129263676497613800.htm?
?