使用JDK开发WebService-客户端建立

来源:互联网 发布:淘宝上传宝贝失败 编辑:程序博客网 时间:2024/05/22 05:13

一、序言

上篇,我已经写了一个简单的WebService服务器。看起来貌似不错,但我们真正的目的是想通过编程的方式来访问服务器,而不是通过eclipse带的Web Service浏览器来访问。服务器我们是一行行代码敲出来的,客户端同样我们也可以一步步设计出来,但是相对繁琐。JDK里面有个工具wsimport.exe,可以帮我们生成客户端代码,节省了很多时间。

二、使用JDK生成WebService客户端

首先,我们需要再创建一个客户端工程------jdkclient。创建好以后复制一下客户端工程的src目录路径

运行命令提示符(win+r>>>cmd),先进入自己客户端工程所在的盘符,在进入src目录,dos下输入cd 然后把复制好的src目录路径粘贴到命令提示符中(dos下不能使用ctrl+v快捷键,在dos下右击会出现粘贴选项),进入到src下后,输入wsimport,看看是否识别,如果不能识别命令,检查下系统的环境变量是否配好。


生成客户端的命令是wsimport -keep url       //url为wsdl路径。

把服务器运行起来,dos下输入生成指令:wsimport -keep http://localhost:8080/service/HelloService?wsdl

注意三点:

    ·服务器要处于启动状态

    ·-keep前后有空格

    ·?wsdl不要忘记

运行后,如出现下图界面,说明已经自动生成客户端代码了。eclipse客户端工程上右击,刷新就可以看到生成的客户端代码了。



使用JDK1.8+MyEclipes 生成的代码可能报错。这是MyEclipse的一个bug,更换一个低版本的JDK就可以了

三、编写客户端调用方法

新建一个类,调用生成的getHelloServiceImplPort()方法,运行mian方法,查看控制台和服务器的控制台,看是否正确打印。

import com.gpj.service.HelloServiceImpl;import com.gpj.service.HelloServiceImplService;public class ClientTest {public static void main(String[] args) {HelloServiceImplService factory = new HelloServiceImplService();HelloServiceImpl helloWS = factory.getHelloServiceImplPort();String result = helloWS.sayHello("gpj");System.out.println("client "+result);}}




1 0
原创粉丝点击