最开始以为需要使用C#,或是VC++.net才能方便的开发WebService,后面在网上找到了gsoap,的确是一个好工具,使用VC++6.0也可以开发WebService了。
开发的过程非常的简单,首先定义好WebService所需要提供的接口(或是服务),其实就是一个.h申明文件,然后使用“soapcpp2.exe”工具,他会帮你生成一系列的中间文件。
开发WebService的服务器比较简单,将几个头文件和.cpp文件加入工程,很快就搞定的,之前在.h申明里面定义的方法,gsoap会进行简单的一个封装,变成一个回调函数,函数体已经定义好了,只需要填写实现的方法即可。
开发WebService的客户端也很容易,同样是将头文件和.cpp文件加入工程,之前在.h申明里面定义的方法,gsoap已经进行了封装,你只需 要调用封装的代码即可,这样,调用远程服务器上的方法,就和调用本地的方法是一样的,中间的网络传输(TCP)、协议解析(XML)等都不需要程序来关心 了!
之前担心使用gsoap开发出来的程序会依赖gsoap的某些组件,如DLL等,但是实际上是没有依赖任何库的,用Depends看了一下,生成的程序 与gsoap没有一点关系,从这点来说,gsoap仅仅是一个工具,他所产生的代码都是源代码级别的,之也就是为什么gsoap效率之所以高的原因之一 吧!
使用gsoap开发的WebService服务端其实就是一个小型的HTTP Server。
更详细的使用,可以参考如下几篇文章:
1、用gSOAP更简单地实现Web Services Client
2、gsoap使用心得!
3、SOAP学习
4、How to Use gSOAP and Webservices, Part One