工作代码片段-QtSOAP

本文详细介绍了如何使用QtSoap进行初始化,并通过HTTP请求发送数据。包括设置服务器信息、构造SOAP消息、添加头部和参数等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初始化QtSoap:

soap = new SOAPService(this); soap->setNamespace("http://tempuri.org/"); soap->setHost("192.168.0.160", 5577); soap->setDbName("0532"); messageStr = tr("SOAP初始化成功!\n服务器:192.168.0.70\n端口:5566\ndbName:0532\n"); messager->addMessage(messageStr);
QString actionstr = m_action; actionstr.append(method); //CB_RTU/GetAll soapAction = new QtSoapSimpleType(QtSoapQName(ACTION), actionstr);//"http://tempuri.org/CB_RTU/GetAll" soapAction->setStringValue(MUST_UNDERSTAND); QString tostr = m_to; tostr.append(to); soapTo = new QtSoapSimpleType(QtSoapQName(TO), tostr);//"http://topia:5566/Rtu" soapTo->setStringValue(MUST_UNDERSTAND); if(request == NULL){ request = new QtSoapMessage(); } request->addHeaderItem(soapAction); request->addHeaderItem(soapTo); request->setMethod(method,soapNamespace); //request->addBodyItem(&QtSoapSimpleType(QtSoapQName("asdfasdf"))); request->addMethodArgument(DBNAME, "", dbName); SoapArgument argument; argument.setEntity(entity); do{ if(queue == NULL || queue->isEmpty()) { break; } for(QQueue<QPair<QString, QString> >::const_iterator iterator = queue->begin(); iterator != queue->end(); iterator++) { argument.pushArgument(iterator->first, iterator->second); } }while(0); request->addMethodArgument(argument.entity, "", argument.argumentString); std::cout << request->toXmlString(2).toStdString() << std::endl; http.setHost(host, port); QString ato = to; http.submitRequest(*request, ato.insert(0,"/")); delete soapAction; delete soapTo; request = NULL;绑定信号:

connect(&http, SIGNAL(responseReady(const QtSoapMessage &)), this, SLOT(getResponse(const QtSoapMessage &)));


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值