Web Service实现天气预报模块

参考博文  hsapphire  csdn  csdn  51cto

Web Service技术允许网络上的所有系统进行交互,属于跨平台的应用。随着技术的发展,一个Web服务可以包含额外的指定功能,并且可以在多个B2B应用中写作通信。

Web Service技术其实就是利用SOAP协议在网络中实现远程调用的一种方法。

SOAP简单对象访问协议(Simple Object Access Protocol),是在分散或分散式的环境中交换信息的一种简单协议,是基于XML的协议,其主要包括一下4个部分:

1.SOAP封装:定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理信息以及如何处理信息等的框架。

2.SOAP编码规则:用于表示应用程序需要使用的数据类型的实例。

3.SOAP的RPC表示:表示远程过程调用和应答的协定。

4.SOAP绑定:使用底层协议交换信息。

UDDI(统一描述,发现和集成)是一个Web Service的注册中心,类似于企业在工商局的注册。只要做好了Web服务,并在UDDI中注册,那么这个Web服务就可以被全世界的人使用。UDDI构建于网络传输层和基于SOAP协议的XML消息传输层之上。

WSDL是一种XML格式,用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作。这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务)。可以对WSDL进行扩展,这样无论通信时使用何种消息格式或网络协议,都可以对端点及其消息进行描述。

Web Service的优点

Web Service的主要应用一般是数据库访问流量大的时候,将数据通过Web服务存在本地,实现数据的快速供应。在Web服务中使用Dataset存储所需要的数据,在项目中引用后,可以直接调用这个Dataset,不需要再连接数据库。其实Web服务是将数据信息以XML形式保存在本地,其优势有以下几点:

1.提供Web服务端,用户可以访问公用Web接口。

2.独立于在应用程序中使用的用户接口类型表示。

3.是对应用程序服务器进行远程处理的方式之一。

4.屏蔽服务端其他层,更安全的提供服务。

hsapphire的方法是在Web Service里用WebMethod方法获取查询后的新浪天气预报整页的html代码,然后从这些html代码里用Indexof和substring方法截取想要的html代码,最后付给一个label,让其将筛选后的html显示出来。但这样做必须要分析新浪天气预报整页的html代码才能筛选,且新浪的天气预报页面代码会经常更改,所以这个方法不好。要注意在获取新浪页面代码时用到的HttpWebRequest和HttpWebResponse在System.Net命名空间内。

网上有很多现成的Web Service  供我们调用。

右键项目-->添加web引用-->在URL输入网上的web服务的地址(还可以在下面添加此解决方案中的web服务等)-->前往(此时会搜索到该web服务)-->添加引用(引用名可以自定,之后会添加一个Web References文件夹,里面包含了该项目引用的所有web服务)。如下图:

现在就可以在项目中使用该web服务了,大体代码如下图:

进入Web服务的页面,都会有很详细的方法说明,可根据自己的需求对其返回值做不同的操作即可。

源码下载

posted @ 2011-01-17 16:37  何塞穆里尼奥  阅读(1579)  评论(0编辑  收藏  举报