我有一个实现与多个服务器通信的应用程序。我用肥皂产生我的要求。 为了防止在不同的链接之间进行冲突,我使用名称空间。 我已经用
生成了文件wsdl2h -t /path/to/gsoap/typemap.dat namespace1.wsdl
soapcpp2 -C -L -qnamespace1 element1.h
如文档(19.39如何在C ++代码命名空间中构建客户端或服务器)中所示,我还使用env.h生成文件。我的文件env.h为空。 soapcpp2 -penv env.h
我已将不同的文件添加到我的projet(Qt)中:
我可以轻松生成请求。 我的问题是何时要获取soap对象的“ fault”或“ header”参数。我有错误:
../ GSoap / main.cpp:103:27:错误:成员访问权限不完整 'struct SOAP_ENV__Header'
../ GSoap / main.cpp:104:45:错误:成员对不完整类型'struct SOAP_ENV__Fault'的访问
这是我的代码:
#include "elemen1H.h"
#include "envH.h"
using namespace namspace1;
int main(int argc, char *argv[])
{
soap soapObj;
soap_init(&soapObj);
// ******* Opération
_ns1__Subtract inSubtractParam;
...
inSubtractParam.soap = &soapObj;
_ns1__SubtractResponse outSubtractParam;
outSubtractParam.soap = &soapObj;
soap_call__ns1__Subtract(&soapObj, NULL, NULL, &inSubtractParam, outSubtractParam);
if(soapObj.fault) {
SOAP_ENV__Fault *fault = soapObj.fault;
...
}
...
return 0;
}
我不知道问题出在哪里。 谢谢您的帮助