Web Service实例——天气预报
上述只是模拟了一下服务端和本地端的通信,但是却没有涉及到真正获取其他网站信息的操作。现在我们通过一个案例,是关于获取天气预报,来实际掌握该项技能。
原本可以使用MyEclipse自动生成客户端,然后很简单的进行调用就可以了,不过,在建立的过程中,却出现了如下图所示的问题:
图2.3.1构建web Service client
是因为MyEclipse无法解析标签,这个是什么原因,我们可以看一下服务商提供的WSDL的文档,很容易发现:
xmlns:s=http://www.w3.org/2001/XMLSchema
这句话正是MyEclipse无法解析的,因为这个原因,我们只能通过命令行建立,并且在构建的过程中还得绑定这个xsd文件。
其实这个文件是jdk1.4的内容,java已经摒弃没有再使用了,也就造成了其无法通过验证的原因。
我们现在MyEclipse中构建一个java项目(因为我们只是为了测试,并不一定需要Web工程):
图2.3.2构建java项目
图2.3.3添加JAX-WS支持
之后,打开该项目,进入src目录,通过cmd构建命令:
wsimport -p com.test.client
-keep http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?WSDL
-b http://www.w3.org/2001/XMLSchema.xsd
注意:必须一次性写完。
-p:package
-keep:wsdl文档的url
-b:缺少的schema文件
图2.3.4进入项目的目录src
图2.3.5解析wsdl文档
图2.3.6解析出现警告完成编译
注释:解析出现警告,这是正常的情况,不过我们已经将缺失的添加了,所以不必在这方面纠结了。而看一下我们的项目,refresh一下MyEclipse中的项目:
图2.3.7文件结构
我们可以看到,它自动创建了com.test.client包,在包内,有一系列自动生成的java类。至此,我们的客户端已经创建完毕。
现在我们添加一个测试类:WebWeatherClient
package com.test.client;
public class WebWeatherClient {
public static void main(String []args){
WeatherWebService service = new WeatherWebService();
WeatherWebServiceSoap soap = service.getWeatherWebServiceSoap();
System.out.println(soap.getWeatherbyCityName("杭州").getString());
}
}
代码段2.3.1测试类。
现在让我们运行一下:
可以看到我们已经拿到杭州这个城市的天气信息了。
Web Service实例——天气预报的更多相关文章
- Web Service学习-CXF开发Web Service实例demo(一)
Web Service是什么? Web Service不是框架.更甚至不是一种技术. 而是一种跨平台,跨语言的规范 Web Service解决什么问题: 为了解决不同平台,不同语言所编写的应用之间怎样 ...
- web service实例
一.准备工作(以下为本实例使用工具) 1.MyEclipse10.7.1 2.JDK 1.6.0_22 二.创建服务端 1.创建[Web Service Project],命名为[TheService ...
- Web Service 实例基于Socket创建Web服务
ServerSocket服务器端代码如下: public static void main(String[] args) throws IOException { // 1:建立服务器端的tcp so ...
- Android开发之使用Web Service进行网络编程
使用Web Service进行网络编程 Android应用通常都是执行在手机平台上.手机系统的硬件资源是有限的,无论是存储能力还是计算能力都有限.在Android系统上开发.执行一些单用户.小型应用是 ...
- 关于WEB Service&WCF&WebApi实现身份验证之WEB Service篇
在这个WEB API横行的时代,讲WEB Service技术却实显得有些过时了,过时的技术并不代表无用武之地,有些地方也还是可以继续用他的,我之所以会讲解WEB Service,源于我最近面试时被问到 ...
- C# 实现身份验证之WEB Service篇
在这个WEB API横行的时代,讲WEB Service技术却实显得有些过时了,过时的技术并不代表无用武之地,有些地方也还是可以继续用他的,我之所以会讲解WEB Service,源于我最近面试时被问到 ...
- Web Service简介与开发实例
简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的 ...
- 【转】Web Service单元测试工具实例介绍之SoapUI
转自:http://blog.csdn.net/oracle_microsoft/article/details/5689585 SoapUI 是当前比较简单实用的开源Web Service 测试工具 ...
- 常用Web Service汇总(天气预报、时刻表等)
现成的Web Service中有很多很好用的,比如天气预报,IP地址搜索,火车时刻表等等.本文汇总的一些常用Web Service,希望对大家有所帮助. AD: ================= ...
随机推荐
- CTSC && APIO 总结
先说CTSC吧,第一试其实不难但是下意识觉得CTSC不就只能骗分吗,然后就全上暴力了.然而第二题再一次看漏了条件,即答案总和小于等于1e6.第三题现在回想起来要不然就是没有思考,要不然就是没学过数学, ...
- 怎么清除SVN密码,以及重置eclipse中svn插件密码
如何清除SVN密码,以及重置eclipse中svn插件密码? 清除SVN客户端密码方法: 邮件选择TortoiseSVN中的settings选项---Saved Data---右边会发现有个Authe ...
- 好看的UI设计网站 www.ui.cn 和 插画网站 www.pixiv.net 千图网,界面很不错~
http://www.ui.cn/?t=share#project http://www.pixiv.net/ http://www.flaticon.com/ www.58pic.com 那张 给人 ...
- Button with Hover Effect (Learned from 百度脑图)
今天想学学PM的技能, 打开了百度脑图的网站, 看到中间那个按键的hover效果蛮好看, 遂学习一下. 效果如下: Demo 其实就是利用:before绘制了半透明白色的遮罩, 平时用transfor ...
- delphi非IE内核浏览器控件TEmbeddedChrome下载|TEmbeddedChrome代码
下载地址: 点击下载 代码示例: 在TForm的oncreate方法中写入一些代码 procedure TForm1.FormCreate(Sender: TObject); begin Chromi ...
- Android Intent.FLAG_NEW_TASK详解,包括其他的标记的一些解释
本文大部分参考自 http://blog.csdn.net/mayingcai1987/article/details/6200909 ,对原文中的讲解FLAG_NEW_TASK地方加了一些自己的观点 ...
- Rewriting History with Git Rebase
http://code.tutsplus.com/tutorials/rewriting-history-with-git-rebase--cms-23191 1. Rebasing for a Li ...
- ORACLE数字转换人民币大写
ORACLE 数字转换人民币大写 示例. 数字 :183066999230.68 人民币大写 :壹仟捌佰参拾亿陆仟陆佰玖拾玖万玖仟贰佰参 ...
- BZOJ3323: [Scoi2013]多项式的运算
3323: [Scoi2013]多项式的运算 Time Limit: 12 Sec Memory Limit: 64 MBSubmit: 128 Solved: 33[Submit][Status ...
- Mysql技术内幕-笔记-第二章 数据类型
第二章 数据类型 Mysql中尽量不要使用UNSIGNED,因为可能会带来一些意想不到的效果 SHOW CREATE TABLE tablename\G;查看表的创建语句 ZEROFILL会将宽度小于 ...