gsoap

木雷双雄 2017-02-09

http://www.cppblog.com/woaidongmao/archive/2008/05/27/51312.aspx

1.1.1gSOAP

1.1.1.1简介

gSOAP编译工具提供了一个SOAP/XML关于C/C++语言的实现,从而让C/C++语言研发web服务或客户端程式的工作变得轻松了很多。绝大多数的C++web服务工具包提供一组API函数类库来处理特定的SOAP数据结构,这样就使得用户必须改变程式结构来适应相关的类库。和之相反,gSOAP利用编译器技术提供了一组透明化的SOAPAPI,并将和研发无关的SOAP实现细节相关的内容对用户隐藏起来。gSOAP的编译器能够自动的将用户定义的本地化的C或C++数据类型转变为符合XML语法的数据结构,反之亦然。这样,只用一组简单的API就将用户从SOAP细节实现工作中解脱了出来,能够专注和应用程式逻辑的实现工作了。gSOAP编译器能够集成C/C++和Fortran代码(通过一个Fortran到C的接口),嵌入式系统,其他SOAP程式提供的实时软件的资源和信息;能够跨越多个操作系统,语言环境连同在防火墙后的不同组织。

gSOAP使编写web服务的工作最小化了。gSOAP编译器生成SOAP的代码来序列化或反序列化C/C++的数据结构。gSOAP包含一个WSDL生成器,用他来为您的web服务生成web服务的解释。gSOAP的解释器及导入器能够使用户无需分析web服务的细节就能够实现一个客户端或服务端程式。

1.1.1.2gSOAP+VC研发客户端

gSOAP是开放的C/C++源码的soap服务器实现,本章节简单介绍使用gSOAP研发2.2.1.3中的AXIS服务器的客户程式。

下载gSOAP工具的代码地址,当前最新版本是2.7.8c版本:

http://sourceforge.net/project/showfiles.php?group_id=52781

解压缩本地目录,进入bin目录

根据wsdl生成头文档方式有以下几种:

生成C++代码

$wsdl2h-otestClient.hhttp://localhost:8080/axis/services/HelloService?wsdl

生成C++代码,不是用STL

$wsdl2h-s-otestClient.hhttp://localhost:8080/axis/services/HelloService?wsdl

生成纯C代码

$wsdl2h-c-otestClient.hhttp://localhost:8080/axis/services/HelloService?wsdl