当前位置:软件学习 > 其它软件 >>

工作代码片段-QtSOAP

初始化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 &))); 

摘自 缘起

补充:软件开发 , 其他 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,