文档章节

天气webservices

CoderPeng
 CoderPeng
发布于 2015/11/17 11:32
字数 1675
阅读 13
收藏 0
  • Web现状
  • Web服务
    • 概念
    • 具有web服务
    • 构成
    • UDDI
    • WSDL
  • 天气预报
web服务现状
    记的以前看VB.NET时中间就介绍了WSDL,而今又学到web服务,所以用天气预报的实例学习一下。LET'S GO
    在说web服务以前,先说说为什么会产生web服务,毕竟“存在即合理”,Internet现状:

    每一个web服务器都是独立存在的,好像是孤岛一般,没什么交互。web服务的产生就是为了加强之间的交互。
什么是服务?
    Web服务(Web Service)是基于XML和HTTPS的一种服务,其通信协议主要基于SOAP,服务的描述通过WSDL,通过UDDI来发现和获得服务的元数据。 Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API,能够用编程的方法通过Web来调用这个应用程序。
    单纯的web服务器交互很少,有了web服务以后呢?
    可以看出具有web服务的网络各个服务器之间的交互明显增多。那么是web服务都有哪些部分构成?
web服务组成
    UDDI和WSDL。
    UDDI: "Universal Description, Discovery and Integration",可以翻译为“通用描述、发现与集成服务”,这是一种目录服务,可以使用它对 Web services 进行注册和搜索。也就是说你想发布网络服务,现在这里注册,你想使用服务,可以来这里搜索。
    WDSL:"Web Services Description Language",web服务描述语言,是一个用来描述Web服务和说明如何与Web服务通信的XML语言,为用户提供详细的接口说明书。
天气预报
    我 们用的是WebXml.com.cn天气预报 Web 服务,数据来源于中国气象局http://www.cma.gov.cn/,数据每2.5小时左右自动更新一次,包括 340 多个中国主要城市和 60 多个国外主要城市三日内的天气预报数据,使用的服务地址 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx,使用本站 WEB 服务请注明或链接本站:http://www.webxml.com.cn/ 感谢大家的支持!
    服务方法:
    getSupportCity:查询本天气预报Web Services支持的国内外城市或地区信息,输入参数:byProvinceName = 指定的洲或国内的省份,若为ALL或空则表示返回全部城市;返回数据:一个一维字符串数组 String(),结构为:城市名称(城市代码)。
    getSupportDataSet:获得本天气预报Web Services支持的洲、国内外省份和城市信息,输入参数:无;返回:DataSet 。DataSet.Tables(0) 为支持的洲和国内省份数据,DataSet.Tables(1) 为支持的国内外城市或地区数据,DataSet.Tables(0).Rows(i).Item("ID") 主键对应 DataSet.Tables(1).Rows(i).Item("ZoneID") 外键。Tables(0):ID = ID主键,Zone = 支持的洲、省份;Tables(1):ID 主键,ZoneID = 对应Tables(0)ID的外键,Area = 城市或地区,AreaCode = 城市或地区代码。
    getSupportProvince:获得本天气预报Web Services支持的洲、国内外省份和城市信息,输入参数:无; 返回数据:一个一维字符串数组 String(),内容为洲或国内省份的名称。
    getWeatherbyCityName:根据城市或地区名称查询获得未来三天内天气情况、现在的天气实况、天气和生活指数,调用方法如下:输入参 数:theCityName = 城市中文名称(国外城市可用英文)或城市代码(不输入默认为上海市),如:上海 或 58367,如有城市名称重复请使用城市代码查询(可通过 getSupportCity 或 getSupportDataSet 获得);返回数据: 一个一维数组 String(22),共有23个元素。String(0) 到 String(4):省份,城市,城市代码,城市图片名称,最后更新时间。String(5) 到 String(11):当天的 气温,概况,风向和风力,天气趋势开始图片名称(以下称:图标一),天气趋势结束图片名称(以下称:图标二),现在的天气实况,天气和生活指数。 String(12) 到 String(16):第二天的 气温,概况,风向和风力,图标一,图标二。String(17) 到 String(21):第三天的 气温,概况,风向和风力,图标一,图标二。String(22) 被查询的城市或地区的介绍
下载天气图标(包含大、中、小尺寸) 天气图例说明 调用此天气预报Web Services实例下载 (VB ASP.net 2.0)
    getWeatherbyCityNamePro:根据城市或地区名称查询获得未来三天内天气情况、现在的天气实况、天气和生活指数(For商业用户),调用方法同 getWeatherbyCityName,输入参数:theUserID = 商业用户ID
    WSDL
    部分wdsl如下:
  1. <wsdl:portType name="WeatherWebServiceHttpGet">  
  2. <wsdl:operation name="getSupportCity">  
  3. <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">  
  4. <br /><h3>查询本天气预报Web Services支持的国内外城市或地区信息</h3><p>输入参数:byProvinceName = 指定的洲或国内的省份,若为ALL或空则表示返回全部城市;返回数据:一个一维字符串数组 String(),结构为:城市名称(城市代码)。</p><br />  
  5. </wsdl:documentation>  
  6. <wsdl:input message="tns:getSupportCityHttpGetIn"/>  
  7. <wsdl:output message="tns:getSupportCityHttpGetOut"/>  
  8. </wsdl:operation>  
  9. <wsdl:operation name="getSupportProvince">  
  10. <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">  
  11. <br /><h3>获得本天气预报Web Services支持的洲、国内外省份和城市信息</h3><p>输入参数:无; 返回数据:一个一维字符串数组 String(),内容为洲或国内省份的名称。</p><br />  
  12. </wsdl:documentation>  
  13. <wsdl:input message="tns:getSupportProvinceHttpGetIn"/>  
  14. <wsdl:output message="tns:getSupportProvinceHttpGetOut"/>  
  15. </wsdl:operation>  
  16. <wsdl:operation name="getSupportDataSet">  
  17. <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">  
  18. <br><h3>获得本天气预报Web Services支持的洲、国内外省份和城市信息</h3><p>输 入参数:无;返回:DataSet 。DataSet.Tables(0) 为支持的洲和国内省份数据,DataSet.Tables(1) 为支持的国 内外城市或地区数据。DataSet.Tables(0).Rows(i).Item("ID") 主键对 应 DataSet.Tables(1).Rows(i).Item("ZoneID") 外键。<br />Tables(0):ID = ID主键,Zone = 支持的洲、省份;Tables(1):ID 主键,ZoneID = 对应Tables(0)ID的外键,Area = 城市或地区,AreaCode = 城市或地区代码。</p><br />  
  19. </wsdl:documentation>  
  20. <wsdl:input message="tns:getSupportDataSetHttpGetIn"/>  
  21. <wsdl:output message="tns:getSupportDataSetHttpGetOut"/>  
  22. </wsdl:operation>  
  23. <wsdl:operation name="getWeatherbyCityName">  
  24. </wsdl:portType>  
     使用服务
    1、获取、引用服务:
    解决方案管理器---App_WebReferences---添加web引用---输入“http://www.webxml.com.cn/WebServices/WeatherWebService.asmx”---添加引用:
    2、后台代码:
[csharp] view plain copy print ?
  1. protected void Page_Load(object sender, EventArgs e)  
  2. {  
  3.         cn.com.webxml.www.WeatherWebService CNweather = new cn.com.webxml.www.WeatherWebService();//实例化服务  
  4.         string[] weather = CNweather.getWeatherbyCityName("廊坊");//根据城市名获取天气信息  
  5.         txtTemp.Text = weather[5];//气温  
  6.         txtSurvey.Text = weather[6];//概况  
  7.         txtWindDirection.Text = weather[7];//风力  
  8.     }  
    3、运行结果:
    本文只是演示了简单的天气预报,其有更多功能:风向、风力、指数、实况、后三天配合多彩的图片,等待大家的开发。


本文转载自:http://www.cnblogs.com/liupeng61624/p/3659014.html

CoderPeng
粉丝 0
博文 140
码字总数 78649
作品 0
青浦
程序员
私信 提问
WebService实现天气预报

WebXml.com.cn 天气预报 Web 服务,数据来源于中国气象局 http://www.cma.gov.cn/ ,数据每2.5小时左右自动更新一次,准确可靠。包括 340 多个中国主要城市和 60 多个国外主要城市三日内的天...

姬鑫
2013/03/07
619
0
Java通过webservice接口获取天气信息

通过SOAP请求的方式获取天气信息并解析返回的XML文件。 PS:使用的webservice网站为http://www.webxml.com.cn/WebServices/WeatherWS.asmx import java.io.InputStream;import java.io.Outpu......

城固如春
2016/11/03
123
0
实战CXF调用Webxml天气预报服务

http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl 这个天气预报的WebService服务; 我也是初学者, 在尝试调用的过程中发现不少问题, 也有一些小心得, 希望与大家分享, 更希...

squanchao
2016/09/07
151
0
实战CXF调用Webxml天气预报服务

实战CXF调用Webxml天气预报服务 今晚群里的kasasis同学问我会不会使用CXF调用 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl 这个天气预报的WebService服务; 我也是初学...

bayer
2012/04/06
9.6K
3
Java调用免费的WebService示例【天气预报】【国内手机号码归属地查询】

1.免费的WebService地址:http://www.webxml.com.cn/zhcn/index.aspx  提供了例如:天气预报,手机归属地查询等很多Web服务。 2.调用天气预报服务示例:  使用JDK自带的wsimport命令生成客...

liu13430
2015/01/31
5.8K
6

没有更多内容

加载失败,请刷新页面

加载更多

【在 Nervos CKB 上做开发】Nervos CKB 脚本编程简介[3]:自定义代币

原文作者:Xuejie 原文链接:https://xuejie.space/2019_09_06_introduction_to_ckb_script_programming_udt/ Nervos CKB 脚本编程简介[3]:自定义代币 CKB 的 Cell 模型和 VM 支持许多新的用...

NervosCommunity
51分钟前
4
0
通过OAuth2.0 获取授权访问SF 用户数据

通过OAuth2.0 获取授权访问SF 用户数据 OAuth2.0 相关知识 深入了解 Salesforce 中的 OAuth 2.0(SF官方) OAuth 2.0 的一个简单解释(阮一峰大神) OAuth 2.0 的四种方式(阮一峰大神) GitHub OA...

在山的那边
57分钟前
7
0
编写程序:从键盘上接受一个三位数(首先要确保是三位数),计算出各位之和输出。

#include<stdio.h> int main() { int a,sum=0; printf("请输入一个三位数:\n"); scanf("%d",&a); sum=a/100+a%100/10+a%10; printf("这三个数的和:%d",sum); return 0; }......

201905021729吴建森
今天
7
0
如何离开/退出/停用Python virtualenv

我正在使用virtualenv和virtualenvwrapper。 我可以使用workon命令在virtualenv之间切换。 me@mymachine:~$ workon env1(env1)me@mymachine:~$ workon env2(env2)me@mymachine:~$ workon e......

技术盛宴
今天
7
0
成长之路 万事坚持难

任何事情开了头,想要更好的发展下去,不忘初心,就一定要坚持下去。 以前自己坚持了一些事情,比如早睡不吃东西,由于中途断了,没有及时止损,导致又接着恶习断了几天。所以 及时的反省和调...

T型人才追梦者
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部