因为一个项目的原因,这段时间一直在学习WebService的相关知识。除了以前在几个项目中用到的XML技术,其它的方面都一无所知。

现在的问题简单来说,就是使Linux服务器上的客户端(C++开发)访问数据服务器(C#开发)上的webservice。所以就需要一个兼容性好能够跨平台的工具,在网上查阅了下,找到了gSOAP。

简单的说,gSOAP就是基于编译技术绑定SOAP/XML到C/C++的一个工具。优点很多(官方给出了17条),比如: 兼容性好、稳定性强、开源、使用广泛等。通过gSOAP,可以简单快速开发出SOAP/XML客户端和服务端程序,通过它,可以调用由不同语言、平台上的webservice(只要是基于SOAP/XML)。

接下来行动的步骤是:

  • 首先准备好工具--下载编译gSOAP;
  • 然后编写一个简单的ASP.NET Web服务,并进行发布;
  • 再通过gSOAP实现客户端和Web服务的通讯;
  • 最后将服务集成进来。
  • 在主页上下载最新的源码包解压后,按照提示进行编译安装,这应该没什么问题。安装后,会得到两个工具:

  • wsdl2h:根据WSDL生成C/C++风格的头文件;
  • soapcpp2:根据头文件自动生成调用远程SOAP服务的客户端代码(称为存根:Stub)和提供SOAP服务的框架代码(称为框架:Skeleton),另外它也能从头文件生成WSDL文件。