工具:gsoap-2.8.66(这个是目前各个公司使用最多的,也是最完善的)
系统环境:Centos7 64位
步骤:
1.下载gsoap工具 下载地址:https://sourceforge.net/projects/gsoap2/files/
2.解压工具:unzip gsoap_2.8.66.zip
3.编译我们需要的工具(由于我们要做到最少依赖,所以只需要编译用到的soapcpp2和wsdl2h两个工具)
4.开始编译:
(1)进入到gsoap/src目录下,执行 make -f MakefileManual soapcpp2
(2)进入到gsoap/wsdl目录下,执行 make -f MakefileManual(如果你安装了OpenSSL就执行 make -f MakefileManual secure)
至此,工具都已编译完成,编译好的程序在gsoap/bin目录下。
5. 生成所需文件:
(1)进入到gsoap/bin目录下,执行以下命令:
./wsdl2h -o calc.h http://www.genivia.com/calc.wsdl
会在当前目录下生成一个 calc.h文件
(2)接着执行以下命令:
./soapcpp2 -j -CL -I/path/to/gsoap/import calc.h
(3)可以在gsoap/bin目录下看到已经生成的所有文件
6.编写calcclient.cpp客户端例子:
#include "calc.nsmap"
#include "soapcalcProxy.h"
int main()
{
calcProxy calc;
double sum;
if (calc.add(1.23, 4.56, sum) == SOAP_OK)
std::cout << "Sum = " << sum << std::endl;
else
calc.soap_stream_fault(std::cerr);
calc.destroy(); // same as: soap_destroy(calc.soap); soap_end(calc.soap);
}
7. 把gsoap目录下的stdsoap2.h文件复制到gsoap/bin目录下:
8.执行编译命令,会生成calcclient程序:
c++ -o calcclient calcclient.cpp soapC.cpp soapcalcProxy.cpp /home/webservice/gsoap-2.8/gsoap/stdsoap2.cpp
注:加上stdsoap2.cpp的具体路径,不然编译出错,这个是我的路径:/home/webservice/gsoap-2.8/gsoap/。
9.执行calcclient程序:
./calcclient 出现结果Sum = 5.79
至此,一个简单的客户端小Demo就完成了。也算是初入gsoap。
过几天忙完了,会继续更新服务端和客户端整体教程。
感谢阅读,能读到这里,说明你真的是个好学的程序员。
转载请注明出处。