之前的简单原理见上篇文章。
C++ Linux使用gSoap进行WebService通信(客户端)_努力努力学习中的博客-优快云博客
多个客户端调用WebService
先用wsdl2.exe生成.h文件。然后用soap2.exe生成带namespace的C++文件。这样的话,不同WebService服务生成的客户端调用文件就不会造成函数冲突。
soapcpp2 -i Trans.h -q trans -d trans -I../../../gsoap;../../../gsoap/import;../../../gsoap/custom:.
soapcpp2.exe中参数:主要注意以下几个。
-C 仅生成客户端源代码
-d path 用于path保存文件,经过尝试,path路径需要存在,不然无法生成
-q name 生成命名空间是name的源文件,包括C++序列化文件
-Q name 生成命名空间是name的源文件,不包括C++序列化文件#######我所用的项目-Q-q好像没有什么区别,用的gsoap2.8版本
-I path 使用path(s) for #import(用 分隔的路径:)
-i 生成从soap结构继承的C++服务代理和对象
-j 生成共享soap结构的C++服务代理和对象 #######-i和-j都能使用,生成的