C#添加WebService服务实现天气预报(查询)

C#添加WebService服务实现天气预报(查询)

    这里主要介绍的是C#实现添加有关天气预报的WebService,调用其中相应的WebAPI实现不同地区的天气情况的获取。在这主要有两个部分,一个是介绍C#怎么添加WebService,一个是添加天气的WebService后怎么去调用WebAPI。
    添加WebService服务编程接口:
在这我们使用的是:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx。以下是相关接口:
getSupportCity、getSupportDataSet、getSupportProvince、getWeatherbyCityName、getWeatherbyCityNamePro。可在网站中查看具体的API的功能。那么,怎么添加这个WeatherWebService呢?
  首先,右击项目解决方案,选中添加服务引用:



点击,如下:



在地址中输入WeatherWebService的网址,前往,会自动搜索到WeatherWebService服务,自己定义命名空间,确认,实现添加。添加完成效果如下:



然后添加相应的引用就可调用相应的API了。
引用:

using WebService.WeatherWeb;

声明:
       WeatherWeb.WeatherWebServiceSoapClient w
            = new WeatherWeb.WeatherWebServiceSoapClient("WeatherWebServiceSoap");
获取可查省份:
           String[] supportProv = w.getSupportProvince();
            foreach (String s in supportProv)
            {
                Add_City.Items.Add(s);
            }
以省份获取该省份的可查城市:
 string[] supportCity = w.getSupportCity(Add_City.Text);
            Add_City.Items.Clear();
            foreach (String s in supportCity)
            {
                string[] city = s.Split(new Char[] { '(' }, StringSplitOptions.RemoveEmptyEntries);
                if (city.Length > 0)
                    Add_City.Items.Add(city[0]);
            }
然后就可查城市的天气情况了:
 string[] s = new string[32];
 s =w.getWeatherbyCityName(city);

注:但是大家按照上面的方式去实现的时候,执行到 s =w.getWeatherbyCityName(city);的时候偶尔会出现:服务器无法处理。--->未将对象引用设置到对象的实例。




解决方案:添加WeatherWebService的方式错误。需要以以下的方式去添加web服务:
首先:



在高级中选中添加Web引用,然后会出现:



按照图中操作,添加引用,会发现添加的是以下的web服务:



这个时候,定义类的方法需要改变成:
 WeatherWeb.WeatherWebService w = new WeatherWebService();

按照上面的方法调用,可实现天气情况的获取。


源码资源:http://download.csdn.net/detail/laozhuxinlu/9523406


发布了69 篇原创文章 · 获赞 60 · 访问量 38万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览