webservice主要是一些站点为我们写好了的方法,供我们调用,当然我们也可以自己去编写自己的webservice,本文主要是通过一个小的实例,去如何调用webservice。下面先给出几个常用的webservice的调用地址。
快递查询接口 http://webservice.36wu.com/ExpressService.asmx
ip查询接口 http://webservice.36wu.com/ipService.asmx
天气预报接口 http://webservice.36wu.com/weatherService.asmx
身份证查询接口 http://webservice.36wu.com/IdCardService.asmx
手机归属地接口 http://webservice.36wu.com/MobilePhoneService.asmx
翻译接口 http://webservice.36wu.com/TranslationService.asmx
火车时刻接口:http://webservice.36wu.com/TrainService.asmx
股票查询接口http://webservice.36wu.com/StockService.asmx
下面我们就拿一个简单的天气预报接口。先把天气预报接口的地址输入地址栏:会出现一些带有链接的方法名和参数说明之类的。看完之后,然后进链接可以看到测试,可以先把我们想测试的参数写进去,点击调用,会出现一个xml文件,这些就是得到的结果,依情况而定我们出把结果处理成我们想要的就可以了。
下面说一下怎么在项目中调用:新建一个web项目,然后点击添加引用服务如图,然后点击确定。
这样就会发现在webconfig文件里面多了一下节点,而且项目类中的Service References文件件多了一个绿色的东西。可以点击看看他有哪些方法,应该是和我们在浏览器输入链接的方法是一致的,剩余就是怎么调用了。下面给出具体的代码:本代码值在webForm中先添加Lable、TextBox、Button以及Literal各一个。然后点击按钮。
protected void Button1_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(this.TextBox1.Text)) { WeatherService.WeatherWebServiceSoapClient service = new WeatherService.WeatherWebServiceSoapClient(); String[] strWeatherInfo = service.getWeatherbyCityName(this.TextBox1.Text); StringBuilder str = new StringBuilder(""); str.AppendLine("您查看天气信息如下:"); foreach (string info in strWeatherInfo) { str.AppendLine(info+"<br/>"); } this.Literal1.Text =str.ToString(); } }
运行程序,输入查看的城市:点击按钮如图所示:
ok基本上一个webservice的调用就完成了。