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_HOME\bin目录下
常用参数:
-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】

05_天气查询_JAX-WS方式_客户端的更多相关文章
- 03_天气查询_socket方式模拟_多线程方式
[简述] 要重视Socket开发,企业后台服务特长使用Socket. 1.服务端要有可持续运行能力,保证线程一致在运行 2.并发处理能力,使用多线程 [工程截图] [WeatherRunner.jav ...
- 02_天气查询_socket方式模拟_单线程
[远程请求的B/S模式(客户端/服务器)] TCP: 是一种传输层协议,一种面向连接的协议.经过三次握手客户端和服务器端连接一个连接(通道).提供可靠的数据传输,该协议一般服务质量要求比较高的情况,T ...
- Android解析中国天气接口JSon数据,应用于天气查询!
android解析Json数据是比较常见的一种操作.也是客户端和服务器进行数据交互的桥梁.下面就来看一看在android中解析JSon数据的方法吧. 首先要想获得Json数据,就必须访问相关的网络接口 ...
- 小工具:天气查询 Vs自定义设置 DevGridControl中GridView排序问题 小工具:火车票查询 小工具:邮件发送 小工具:截图&简单图像处理
小工具:天气查询 开发一个天气查询的工具主要由两步构成,一是数据的获取,二是数据的展示. 一.数据获取 数据获取又可以分为使用其它公司提供的API和手动抓取其它网站数据. 1. 某公司提供的AP ...
- 天气查询SDK
简介: 这是一个用于查询天气的SDK,在很多时候,尤其是对接多而小功能公众账号的时候,天气查询比较使用,此SDK就是这样的用途,使用的是中国天气网的API,已经集成了网上最靠谱的方式来实现,包括里面的 ...
- 转载 WebService 的CXF框架 WS方式Spring开发
WebService 的CXF框架 WS方式Spring开发 1.建项目,导包. 1 <project xmlns="http://maven.apache.org/POM/4.0 ...
- 个人永久性免费-Excel催化剂功能第96波-地图数据挖宝之全国天气查询(区域最细可到区县,最长预报4天)
天气预报的信息,是很普通的大家习以为常的信息,但如果不进行采集,在日常数据分析过程中,就少了非常重要的一个分析维度,如果人手采集整理,工作量巨大.此篇给广大数据分析工作者再次减负,只需简单一键,即可批 ...
- 【Postman】举例实战——天气查询
准备工作: 1.下载postman(搜索官网下载即可) 2.接口文档(以聚合上去免费API:天气查询接口) 打开postman: 1.输入url 2.请求方式 3.请求参数 4.在postman中运行 ...
- 用 Python 编写一个天气查询应用
效果预览: 一.获取天气信息 使用python获取天气有两种方式. 1)是通过爬虫的方式获取天气预报网站的HTML页面,然后使用xpath或者bs4解析HTML界面的内容. 2)另一种方式是根据天气预 ...
随机推荐
- 如何使用C#和VB发送和接收MSMQ消息
在这篇博客中,我们将就如何实现System.Messaging类发送和接收的XML消息发送从MSMQ队列,你可能会遇到接收的XML消息的一些问题. 我们将首先加入参考System.Messaging ...
- java中字符串切割的方法总结
StringTokenizer最快 ,基本已经不用了,除非在某些需要效率的场合.Scanner最慢. String和Pattern速度差不多.Pattern稍快些. String和Pattern的sp ...
- linux 密码安全脚本
#!/bin/bash #by:osx1260@.com DIESO=/etc/pam.d PAMSO=$(ls $DIESO/* |awk -F'/' '{print $4}') NEPAMUN=' ...
- 【转载】HBase 数据库检索性能优化策略
转自:http://www.ibm.com/developerworks/cn/java/j-lo-HBase/index.html 高性能 HBase 数据库 本文首先介绍了 HBase 数据库基本 ...
- HDOJ-ACM1014(JAVA)
这道题题意: 求最大公约数,最大公约数是1,则GOOD,否则BAD 注意: 输出时,如果是System.out.printf("%10d%10d Good Choice\n\n&quo ...
- 教程-Delphi7 自带控件安装对应表
原来的控件delphi7里何处寻? 经常有朋友提这样的问题,“我原来在delphi5或者delphi6中用的很熟的控件到哪里去了?是不是在delphi7中没有了呢?这是不是意味着我以前写的代码全都不能 ...
- pycharm的使用技巧
本文将持续更新一些关于在使用pycharm的过程中的小技巧: 多行缩进/取消缩进 选中需要更改的代码,按 shift + tab 多行注释/取消注释 选中需要更改的代码,按 ctrl + / 滚轮 ...
- Step2:配置Oracle Dataguard
接着step1我用Rman duplicate测试下. 1,2两步请参考step1中的1,2 3.startup nomount (standby),一定要是nomount. 4.rman dupli ...
- 为什么 var_dump("1" == "1e0"); 的结果为true
今天,同学问我一个问题,如下:var_dump("1" == "1e0"); 的结果是什么. 我的第一反应,答案是false.因为很明显的要比较的是两个字符串, ...
- 分布式数据库中间件–(3) Cobar对简单select命令的处理过程
友情提示:非原文链接可能会影响您的阅读体验,欢迎查看原文.(http://blog.geekcome.com) 原文地址:http://blog.geekcome.com/archives/284 在 ...