我正在使用 gSOAP 从 SOAP Web 服务请求信息
肥皂网络服务返回一个对象。我在名为“dataconnector”的调用中执行请求
在数据连接器中,我可以输出返回对象的所有值,但除此之外,对象中的所有引用值都是空的。
我做了一些搜索,显然 gSOAP 会删除所有内容,除非您使用 soap_unlink() 从释放链中删除
我试过了,但没有帮助这是我的代码
关于我做错了什么的任何想法?
QList<ns1__calls*> calls;
datacheckPortBindingProxy service;
ns1__getCalls request;
std::string un("4444");
request.username = &un;
ns1__getCallsResponse response;
if (service.getCalls(&request, &response) == SOAP_OK){
qDebug() << "succesfull response";
for(unsigned int i = 0; i< response.return_.size(); i++){
ns1__calls* call = response.return_.at(i);
qDebug() << QString(call->roomId->c_str());
qDebug() << " with type_id: " << (call->typeId-1) ;
calls.append(call);
soap_unlink(request.soap, call);
}
编辑
nvm 显然您需要取消链接对象的所有单独值
像这样:
soap_unlink(response.soap, call->roomId);
soap_unlink(response.soap, call->display);
soap_unlink(response.soap, call->location);
soap_unlink(response.soap, call->staffAidId);
soap_unlink(response.soap, call->firstName);
soap_unlink(response.soap, call->lastName);
没有更简单的方法吗?