c/c++ 使用gsoap调用webservice

gsoap包下载地址:
 
在开发轻量级C/S程序时,有时候服务端会使用别的实现为webservice,然后基于部署在web服务器上,供我们C/C++或其他语言来调用.
C/C++本身并没有直接提供调用webservice的功能,但是有很多开源的开发工具包,我们可以直接下载使用.以上链接就是 gsoap的下载地址
 
下载之后解压(我是解压在D盘的).然后进入 D:\gsoap-2.7\gsoap\bin,会有 linux386 ,win32 macosx 三个文件夹,我是在windows下开发的,
所以直接进入win32这个目录,这个目下有两个可执行文件 wsdl2h.exe ,soapcpp2.exe ,wsdl2h主要使根据 webservice的地址生成c或者C++
的头文件,该头文件包含wsdl中包含的方法的详细信息,如参数,返回类型等.soapcpp2.exe主要是根据头文件 来生成调用webservice的代码.
具体参数说明如下:
  • -n 名空间前缀 代替默认的ns
  • -c 产生纯C代码,否则是C++代码
  • -s 不要使用STL代码
  • -t 文件名,指定type map文件,默认为typemap.dat
  • -e 禁止为enum成员加上名空间前缀

type map文件用于指定SOAP/XML中的类型与C/C++之间的转换规则,比如在wsmap.dat里写

soapcpp2常用选项
  • -C 仅生成客户端代码
  • -S 仅生成服务器端代码
  • -L 不要产生soapClientLib.c和soapServerLib.c文件
  • -c 产生纯C代码
  • -I 指定import路径
  • -x 不要产生XML示例文件
  • -i 生成C++包装。

如果windows下出现不支持中文的情况,在wsmap.dat里边加入下列内容:

xsd__string = | std::wstring | wchar_t*

这是数据类型的对应关系,使用stl,会更好的支持中文.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值