• 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如下:

<wsdl:portType name="WeatherWebServiceHttpGet">
<wsdl:operation name="getSupportCity">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<br /><h3>查询本天气预报Web Services支持的国内外城市或地区信息</h3><p>输入参数:byProvinceName = 指定的洲或国内的省份,若为ALL或空则表示返回全部城市;返回数据:一个一维字符串数组 String(),结构为:城市名称(城市代码)。</p><br />
</wsdl:documentation>
<wsdl:input message="tns:getSupportCityHttpGetIn"/>
<wsdl:output message="tns:getSupportCityHttpGetOut"/>
</wsdl:operation>
<wsdl:operation name="getSupportProvince">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<br /><h3>获得本天气预报Web Services支持的洲、国内外省份和城市信息</h3><p>输入参数:无; 返回数据:一个一维字符串数组 String(),内容为洲或国内省份的名称。</p><br />
</wsdl:documentation>
<wsdl:input message="tns:getSupportProvinceHttpGetIn"/>
<wsdl:output message="tns:getSupportProvinceHttpGetOut"/>
</wsdl:operation>
<wsdl:operation name="getSupportDataSet">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<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 />
</wsdl:documentation>
<wsdl:input message="tns:getSupportDataSetHttpGetIn"/>
<wsdl:output message="tns:getSupportDataSetHttpGetOut"/>
</wsdl:operation>
<wsdl:operation name="getWeatherbyCityName">
</wsdl:portType>

使用服务

    1、获取、引用服务:
    解决方案管理器---App_WebReferences---添加web引用---输入“http://www.webxml.com.cn/WebServices/WeatherWebService.asmx”---添加引用:
    2、后台代码:

    protected void Page_Load(object sender, EventArgs e){cn.com.webxml.www.WeatherWebService CNweather = new cn.com.webxml.www.WeatherWebService();//实例化服务string[] weather = CNweather.getWeatherbyCityName("廊坊");//根据城市名获取天气信息txtTemp.Text = weather[5];//气温txtSurvey.Text = weather[6];//概况txtWindDirection.Text = weather[7];//风力}
    3、运行结果:
    本文只是演示了简单的天气预报,其有更多功能:风向、风力、指数、实况、后三天配合多彩的图片,等待大家的开发。

Web服务小试——天气预报相关推荐

  1. 通过Web Service获取天气预报并朗读

    环境:Visual Studio 2010 C# 1. 新建项目-->Windows窗体应用程序.输入解决方案名,假定为TTS. 2. 在界面设计里拉一个textBox和一个Button.tex ...

  2. 通过 Lotus Domino Java 代理消费 Web 服务

    Web 服务是一种允许两台或更多的计算机在网络中交互的系统设计.这种服务的主要优点是,它是在多台不同操作系统的计算机和应用服务器之间发送对象的标准解决方法.例如,我们的公司使用 Web 服务从一台运行 ...

  3. Jquery和雅虎的YQL服务实现天气预报功能!

    可以直接使用http://www.tianqi.com/plugin/#tjdm定制天气 很多外部网站都有天气预报功能,对于很多企业内部的门户也需要有天气预报功能,但实现天气预报的功能和方式确有所差异 ...

  4. 安卓Web Service实现天气预报功能

    Web Service是实现异构程序之间方法调用的一种机制.通过一种XML格式的特殊文件来描述方法.参数.调用和返回值,这种格式的XML文件称为WSDL(Web Service Description ...

  5. 面向Web服务的游戏设计1:选择适合的Silverlight通信技术

    互联网游戏当然离不开通信技术的支持,对于Silverlight,哪一种通信技术最适合开发MMORPG游戏呢?本文通过比较Silverlight支持的几种主要的通信技术的特性和适用环境,选择一款最适合我 ...

  6. 新发现的Web服务-----免费服务

    [新] 中文<->英文双向翻译WEB服务获得标准数据 Endpoint:http://fy.webxml.com.cn/webservices/EnglishChinese.asmx Di ...

  7. WEB服务(Web Servicrs)| 免费WEB服务 | 商业WEB服务

    20多个常用的免费WebService接口 天气预报Web服务,数据来源于中国气象局  Endpoint   Disco   WSDL IP地址来源搜索 WEB 服务(是目前最完整的IP地址数据)  ...

  8. Python调用WebService服务 查询天气预报

    文章目录 问题描述 安装 初试 修复Schema 天气预报封装 参考文献 问题描述 Python调用Webservice服务,如WebXml的免费Web服务中的城市天气预报 安装 使用suds库的分支 ...

  9. Docker安装Apache与运行简单的web服务——httpd helloworld

    Docker运行简单的web服务--httpd helloworld目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker运行简单的web ...

最新文章

  1. python在线读-用python实现自己的小说阅读器
  2. 4.7地铁查询开发进度
  3. VS2010重构学习总结
  4. Spring AOP编程-传统AOP开发切点表达式写法介绍
  5. 怎么用python画饼状图_Python入门进阶:Python绘制饼图到Microsoft Excel
  6. 修过的一个android framework原生系统代码bug
  7. 确保已在无线网络上启用dhcp服务器,WiFi无线网络提示未启用DHCP无法上网的解决方法教程[多图]...
  8. jdbc 3种获得mysql插入数据的自增字段值的方法_JDBC 3种获得mysql插入数据的自增字段值的方法...
  9. 笔记本电脑连接打印机_傻瓜操作,轻松搞定工作中各种打印难题,兄弟激光打印机开箱体验...
  10. arcgis图像和坐标系统一致但不重合_学习ArcGIS,这62个Arcmap常用操作技巧可能帮到您...
  11. matlab对信号DTFT,【MATLAB】离散傅里叶变换DTFT和IDTFT
  12. python excel操作 bom_Python Pandas比较BOM表数据
  13. C#服务端如何获取外网IP
  14. Ubuntu内核版本降级
  15. Word 怎么在方框里打勾——超级简单的方法,一看就会!
  16. Java图标对应的文件类型
  17. 5G之前,千兆级LTE在铺路,LTE是物联网最理想的连接技术
  18. 电脑加载,电脑加载慢又卡怎么办
  19. 企业重大危险源评估分级[分级标准]
  20. 两年数据对比柱形图_如何用excel制作漂亮的图表——柱形图篇

热门文章

  1. 腾讯云服务器到期未续费,CVM实例被释放还能找回文件吗?
  2. WHQL认证产品可以 现在又可以查询了
  3. 大白话之哈希表和哈希算法
  4. vue实现任务周期cron表达式选择组件
  5. 如何做擦能防止网站被劫持
  6. 使用DLL封装应用程序的资源
  7. 骚年,看我如何把 PhantomJS 图片的 XSS 升级成 SSRF/LFR
  8. 天天爱跑步【NOIP2016 T4】
  9. 移动硬盘出现好多类似5b823bbe980da233a005c83a\update的文件,0字节,删不掉
  10. c++实现三国杀小游戏