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)另一种方式是根据天气预 ...
随机推荐
- 改进的SMO算法
S. S. Keerthi等人在Improvements to Platt's SMO Algorithm for SVM Classifier Design一文中提出了对SMO算法的改进,纵观SMO ...
- phpMyAdmin安装设置
phpMyAdmin是一种MySQL的管理工具,它直接从web上去管理MySQL. 假设你的web(网页存放)根目录是 /var/www/ 假设你的主机web访问是这样的 http://192.1 ...
- java nio 快速read大文件
If you want to make your first example faster FileChannel inChannel = new FileInputStream(fileName). ...
- poj 3984 迷宫问题【bfs+路径记录】
迷宫问题 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10103 Accepted: 6005 Description ...
- hdoj 2568 前进
前进 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- sublime text高亮less
1.打开sublime,ctrl+shift+p打开命令面板,找到package control:install Package,然后选择less2css,回车. 2.继续ctrl+shift+p打开 ...
- snowflake算法(java版)
转自:http://www.cnblogs.com/haoxinyue/p/5208136.html 1. 数据库自增长序列或字段 最常见的方式.利用数据库,全数据库唯一. 优点: 1)简单,代码方 ...
- [微信小程序] 终于可以愉快的使用 async/await 啦
[小程序] 终于可以愉快的使用 async/await 啦 这篇文章主要是想说一下 怎么在微信小程序中使用async/await从而逃离回调地狱 背景 最近一直在搞微信小程序 用的语言是TypeScr ...
- ios调打电话代码
// 定义点击拨号按钮时的操作 - (void)callAction{ NSString *number = @"";// 此处读入电话号码 // NSString *num = ...
- HDU4619+匈牙利
/* 匈牙利算法 二分匹配 最小点覆盖=最大匹配. 即踢掉最小点覆盖 */ #include<stdio.h> #include<string.h> #include<s ...