• 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】

     

  • 相关阅读:
    框架比较
    框架整理
    bootstrap-table中get请求携带的参数
    0514任务思路
    两台电脑对码云上面的项目进行迭代
    项目问题
    vue 中发送axios请求,解决跨域问题(没有config文件)
    正则表达式(未完待续)
    【转载】深入理解Linux文件系统
    浅谈IO优化
  • 原文地址:https://www.cnblogs.com/HigginCui/p/5833415.html
Copyright © 2020-2023  润新知