我们以查看各个城市的天气情况的WebService为例,假设我们要调用的WebService地址如下:
WeatherWebService Web 服务
一,首先我们要验证这个地址是不是正确的有效的地址,其次我们要查看有哪些服务,每个API的用法,甚至可以执行API查看运行结果。
方法:
在浏览器输入WebService地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
,
可以看到WebService的所有服务API,API的描述信息。点击API,进入该API的调试界面,输入方法参数,点击调用,即可看到API的运行结果。
【图:API列表】
【图:API调试界面】
二,在项目中添加服务引用,.NET会自动生成与服务接口一致的API代码,我们只需要调用这些自动生成的代码,便可以获取服务结果。这与RPC原理一样,我们不需要关注中间的数据发送,数据解析等,就像调用本地方法一样。
【图:添加服务引用】
【图:输入服务信息】
三,服务引用添加完成后,后自动生成调用代码。双击Connected Services,便可以查看生成的代码。
(以下是类图)
生成的命名空间是WSDemo.ShareSharp
,生成两个接口WeatherWebServiceSoap
,WeatherWebServiceSoapChannel
,一个类WeatherWebServiceSoapClient
。
我们在调用的时候,只需要实例化类WeatherWebServiceSoapClient
,然后调用其方法即可。
namespace WSDemo
{
class Program
{
static void Main(string[] args)
{
WeatherWebServiceSoapClient client = new WeatherWebServiceSoapClient();
string[] cities = client.getSupportCity("云南");
}
}
}