一、什么是WebService ?
WebService其实就是一个基于网络的应用程序,它向外部程序提供一定的调用接口。外部(远程)的程序,可以经由Web对其进行调用。
二、WebService 的特性:
1.由于 WebService 经由web服务器发布,所以比DCOM而言,可以顺利穿过防火墙。这也是 WebService 的优点之一,可以说, WebService ,为分布 式应用的开发,提供了一个很好的平台。
2.对 WebService 的调用,是通过SOAP协议进行的。简单对象访问协议(SOAP)提供了标准的远程过程调用(RPC)方法来调用Web service。 而SOAP也是基于XML和XSD的,XML是SOAP的数据编码方式,因此,对 WebService 的调用也可以是跨平台的。、
三、怎样调用WebService ?
Visual Studio.NET 内建提供了对 WebService 的调用。在VC.NET中,调用 WebService 只需要简单的几个步骤即可。只要找到 WebService 的发布 地址,将地址引入到VC工程中。这时,编译器会预先编译一次,自动生成和 WebService 相关的头文件(也可以叫Web代理文件) WebService .h。 在你的程序中,包含 WebService .h然后生成相关的对象,就可以对远程的 WebService 进行调用了。
为演示怎样调用 WebService ,我们用网上一个已经发布的 WebService ,名字叫TranslateService,其功能是对多种语言进行互相翻译。 这个 WebService 的地址如下: http://www.WebServicex.net/TranslateService.asmx
四、程序示例
1.基于控制台的托管程序示例
下面,我们先介绍VC.net中,基于控制台的托管程序,调用 WebService 的例子:
启动Visual Studio.NET 2003,新建一个Visual C++项目,类型选择为基于.NET的托管控制台应用。然后,引入 WebService 到工程,在解决方案 的项目名称上,单击右键,选择“添加Web引用”。如下图(图1):
图1 添加 WebService 引用到工程中
填入 WebService 的地址,然后点击”转到”按钮。 WebService 的相关细节,会被显示在下面。Web引用名,可以采用默认的名字,也可以自己设置 一个,在这里,我们起名叫TService。然后点击“添加引用”(图2),编译器自动生成TService.h以及 WebService .h。在 WebService .h里面已经包含了 TService.h。在工程的代码中,我们直接包含头文件 WebService .h即可。
图2 添加 WebService