05_天气查询_JAX-WS方式_客户端

【客户端特点】

支持面向对象开发。

客户端功能调用webService,首先得知道WebService的地址。

一般情况下,只要知道了wsdl的地址,就可以知道WebService的地址。

我们上一篇博客设计的服务端的本地天气查询服务的地址:http://127.0.0.1:12345/weather?wsdl

【查看WSDL】

WebService发布成功,通过WSDL查看WebService发布的正确性。

1.在浏览器地址栏输入http://127.0.0.1:12345/weather?wsdl

2.WSDL不是WebService,只是获取一个用于描述WebService的说明文件。

3.wsdl-WebServiceDescriptionLanguage是以XML文件形式来描述WebService的"说明书",有了WSDL这个"说明书",我们才可以知道如何使用或者调用对应的服务。

【阅读WSDL的流程】

1.找到<service>  ------>  2.找到<binding>  ----->  3.找到portType(即服务端点)

【Wsimport介绍】

wsimport是JDK自带的WebService客户端工具,可以根据wsdl文档生成客户端调用代码(Java代码)。当然,无论服务器端的WebService用什么语言写的,都可以生成调用WebService的客户端代码,服务端通过客户端代码调用WebService服务。

【Wsimport常用参数】

wsimport.exe位于 JAVA_HOMEin目录下

常用参数:

-d <目录>              将生成 .class 文件

-s <目录>               将生成 .java文件

-p <生成的新包名>   将生成的类放在指定的包下

 【通过Wsimport生成客户端注意事项】

1.可以通过 java -version查看自己的JDK版本,要注意jdk1.6.0_13以后的版本支持javaws2.1

2.要提前在eclipse中建立一个空的java工程,用来存放通过Wsimport生成的客户端代码。

3.要通过cmd的目录命令进入该java该工程的src目录。

4.生成完成后,刷新eclipse该工程,src下会出现生成好的客户端代码,只要将这些代码拷入到对应的客户端工程即可使用。

【使用wsimport生成WebService的客户端调用代码】

1.首先新建一个WsimportProject,并查看工程的路径

2.然后进入该工程的src目录下

3.使用“ wsimport -s  . http://127.0.0.1:12345/weather?wsdl ” 命令来生成客户端代码(注意 "."的前后有空格)。

注意:运行该命令成功的前提之一是 此时WebService服务是运行中的!!

下图是运行成功的情况

4.刷新Eclipse对应的工程,可以看到生成了对应的客户端调用代码

5.将该代码拷贝至我们的客户端工程中,建好的工程截图如下:

6.客户端的WeatherClient.java代码,其中调用了生成的客户端中的类

 【运行结果】

(前提是服务端已经开启!!!)

1.查看客户端

2.查看服务端

 

【方式二:使用JDK的service类调用WebService】

 

原文地址:https://www.cnblogs.com/HigginCui/p/5833415.html