Quantcast
Channel: Jobs
Viewing all articles
Browse latest Browse all 18427

Web Service usando Qtsoap

$
0
0
Hello, vou ser bem direto. Estou precisando enviar um .xml para o web server da sefaz e receber uma resposta. Eu não tenho muita experiencia com web service, mais já li muito a respeito. Estou usando o qtsoap que tive que baixar pois não é nativo do Qt. No web service tem disponibilizado o WSDL que nada mais é do que a Descriçao do web service [sefazvirtual.fazenda.gov.br], mas não sei onde estão os métodos e os parametros, tá um pouco confuso. :/ Tenho tbm os exemplos de soap da NfeRecepcao2, que acredito ser a url pra onde eu tenho que enviar o xml: Exemplo soap em xml [sefazvirtual.fazenda.gov.br] Usando o qtsoap, eu não consigo gerar um xml igual ao que está no exemplo. meu codigo: #include "mainwindow.h" #include "ui_mainwindow.h" #include "nfe.h" #include <qtsoap.h> MainWindow::MainWindow(QWidget *parent) :     QMainWindow(parent),     ui(new Ui::MainWindow) {     ui->setupUi(this);     QtSoapMessage msg;       transport.setHost("www.sefazvirtual.fazenda.gov.br",443);     connect(&transport, SIGNAL(responseReady()),this,SLOT(getResponse()));       msg.setMethod("nfeDadosMsg","http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2");     msg.addMethodArgument("versaoDados","","2.0");     msg.addMethodArgument("cUF","","MA");     msg.addMethodArgument("nfeDadosMsg","","C:\\QtSDK\\QtCreator\\NFe\\testaNFe\\arquivo.xml");     transport.setAction("http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2/nfeRecepcaoLote2");     transport.submitRequest(msg, "/nfeRecepcao/nfeRecepcao2.asmx");         qDebug() << msg.toXmlString();     void MainWindow::getResponse() {     qDebug() << "getResponse"; //    qDebug()<< "Retorno >" << retorno.toXmlString();     const QtSoapMessage &resp = transport.getResponse();     if(resp.isFault())         qDebug() << resp.faultString().value().toString();   } A Saída do xml é <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <nfeDadosMsg > <versaoDados xsi:type="xsd:string" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance">2.0</versaoDados> <cUF xsi:type="xsd:string" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance">MA</cUF> <nfeDadosMsg xsi:type="xsd:string" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance">C:\QtSDK\QtCreator\NFe\testaNFe\arquivo.xml</nfeDadosMsg> </nfeDadosMsg> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Diferente do exemplo, não tem header pois nao sei como fazer usando essa classe qtsoap. Alguem tem alguma sugestão?

Viewing all articles
Browse latest Browse all 18427

Trending Articles