虽说知道web service已经有一段时间了,不过却也不曾真的试用过。今天在博客园瞎游逛,看到了一篇免费的web service介绍。于是没事就爱瞎折腾的我打算试一试。
本文中的web service地址是:天气预报Web服务,数据来源于中国气象局
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
接下来就是一个最简单的web service调用了。
1.首先新建一个asp.net的web项目,在项目目录中添加asp.net文件夹:App_WebReferences。
如图所示:
2.然后右击这个文件夹,点“Add service reference...”, 这时候会产生一个表单,在其中将上面提供的service地址复制进去,同时给明明这个namespace, 我这儿命名为“climateService”。点确定之后在App_WebReferences文件夹下会生成这样的文件结构:
细心的你也许注意到了,web.config文件这时候也已经做了相应的修改。我们暂时也不需要关注。
3.接下来就可以写一个测试的页面了。
为了能够尽快看到结果,我新建了一个default.aspx页面,并在前台添加了一个label控件。
然后在后台写下如下代码:
我们如果查看那个webservice提供方的网页可以看到,他们提供了一系列的方法,其中一个就是根据城市的名字获取天气信息,返回值是一个string类型的数组。我们可以很容易的看到你所需要的信息。
另外需要注义的一点是实例化WeatherWebServiceSoapClent的时候,我们需要传入一个参数,否则就会告诉你有多个endpoint,这个程序无法确认使用哪一个。
通过查看web.config文件,我们可以注意到现在总共有两个endpoint,我选择了后者。于是我们可以在前台看到这样的结果了:
今日天气实况:气温:0.2℃;风向/风力:东北风 小于3级;湿度:33%;气压:1005.8hPa;空气质量:中;紫外线强度:弱
这一段算是大功告成了。这算是我的第一个web service应用吧