C# webservices 之调用天气预报案例【1】

 

知识点

 

XML和XSD
可扩展的标记语言(标准通用标记语言下的一个子集)是Web Service平台中表示数据的基本格式。除了易于建立和易于分析外,XML主要的优点在于它既与平台无关,又与厂商无关。XML是由万维网协会(W3C)创建,W3C制定的XML SchemaXSD 定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。
Web Service平台是用XSD来作为数据类型系统的。当你用某种语言如VB. NET或C# 来构造一个Web Service时,为了符合Web Service标准,所有你使用的数据类型都必须被转换为XSD类型。如想让它使用在不同平台和不同软件的不同组织间传递,还需要用某种东西将它包装起来。这种东西就是一种协议,如 SOAP。

SOAP
SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML(标准通用标记语言下的一个子集)编码信息的轻量级协议。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。SOAP可以运行在任何其他传输协议上。例如,你可以使用 SMTP,即因特网电子邮件协议来传递SOAP消息,这可是很有诱惑力的。在传输层之间的头是不同的,但XML有效负载保持相同。
Web Service 希望实现不同的系统之间能够用“软件-软件对话”的方式相互调用,打破了软件应用、网站和各种设备之间的格格不入的状态,实现“基于Web无缝集成”的目标。

 

WSDL
Web Service描述语言WSDL 就是用机器能阅读的方式提供的一个正式描述文档而基于XML(标准通用标记语言下的一个子集)的语言,用于描述Web Service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。

 

UDDI
UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。

 

VS2010+WIN7_64x

范例1.调用天气预报webservices

我们通过百度搜索天气预报官方提供的webservice方法,选择自己需要用于测试.

C# webservices 之调用天气预报案例【1】_第1张图片

C# webservices 之调用天气预报案例【1】_第2张图片

 

我们选择getWeatherbyCityName 方法点击进入下个页面;(拷贝url路径,用于之后的[添加web引用])

C# webservices 之调用天气预报案例【1】_第3张图片

输入温州,点击调用可以看下测试数据的格式,以后用程序调用,传送参数“温州”,返回的数组也是这样的格式。

现在可以拷贝浏览器中的URL了。到VS2010中引用webservices 服务。

新建空网站

C# webservices 之调用天气预报案例【1】_第4张图片

C# webservices 之调用天气预报案例【1】_第5张图片

 

 

右键-添加Web引用

C# webservices 之调用天气预报案例【1】_第6张图片

 

讲需要调用的webservices路径输入进去,点击转到。添加引用即可

C# webservices 之调用天气预报案例【1】_第7张图片

 

添加后的路径如下所示:

C# webservices 之调用天气预报案例【1】_第8张图片

 

界面:

C# webservices 之调用天气预报案例【1】_第9张图片

 

后台代码:

 

protected void btnSelect_Click(object sender, EventArgs e)
    {
        cn.com.webxml.www.WeatherWebService wws = new cn.com.webxml.www.WeatherWebService();
        string[] content = wws.getWeatherbyCityName(this.txtAddress.Text);
        string tent = "";
        for (int i = 0; i < content.Length; i++)
        {
            tent = tent + " " + content[i];
        }
        this.lblTxet.Text = tent;
    }

 

 

 

效果:

C# webservices 之调用天气预报案例【1】_第10张图片

 

C# webservices 之调用天气预报案例【1】_第11张图片

到目前为止一个简单的调用天气预报的webservices已经可以用。

 

资源下载:http://download.csdn.net/detail/sat472291519/9524088

 

==========================后记==========================

有网友反馈现在比较新的版本例如VS2017没有找到

右键-添加Web引用

C# webservices 之调用天气预报案例【1】_第12张图片

备注:不要选择添加引用,这种方式不正确。

VS2017请选择【添加服务引用】-【高级】-【添加Web引用】即可

C# webservices 之调用天气预报案例【1】_第13张图片

C# webservices 之调用天气预报案例【1】_第14张图片

你可能感兴趣的:(webservices,[模块])