PauloPJ Posted October 17, 2015 Report Share Posted October 17, 2015 Ola Pessoal! Preciso de uma ajuda para decifrar os enigmas. não consigo ler um arquivo xml usando a classe TXmlDocument():New(), da erro 4 O XML em questão é uma resposta de um web-service da prefeitura de Petrópolis. cxml:='<?xmlversion="1.0"?> <SOAP-ENV:Envelopexmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ws_nfe.CONSULTANOTASPROTOCOLOResponsexmlns="NFe"> <Sdt_consultanotasprotocoloout> <Retorno>true</Retorno> <Messages> <Message> <Id>OK</Id> <Type>0</Type> <Description>Notascarregadascomsucesso</Description> <LinErr>0</LinErr> </Message> </Messages> <XML_Notas> <CpfCnpj>52.878.862/0001-15</CpfCnpj> <DtIni>2014-02-12</DtIni> <DtFin>2014-02-12</DtFin> <TipoArq>0</TipoArq> <Versao>2.00</Versao> <Reg20> <Reg20Item> <TipoNf>P</TipoNf> <NumNf>45</NumNf> <SerNf>NFE</SerNf> <DtEmiNf>12/02/2014</DtEmiNf> <DtHrGerNf>12/02/201408:04:41</DtHrGerNf> <CodVernf>116F76843BE21199E8D7</CodVernf> <NumRps>49</NumRps> <SerRps>Edu</SerRps> <DtEmiRps>12/02/2014</DtEmiRps> <TipoCpfCnpjPre>J</TipoCpfCnpjPre> <CpfCnpjPre>52.878.862/0001-15</CpfCnpjPre> <RazSocPre>TesteRPSEletronicoOficinaSN</RazSocPre> <LogPre>VilaManoelFraguas</LogPre> <NumEndPre>123</NumEndPre> <ComplEndPre/> <BairroPre>Quissama</BairroPre> <MunPre>PETROPOLIS</MunPre> <SiglaUFPre>RJ</SiglaUFPre> <CepPre>25615400</CepPre> <EmailPre>comercia@rpseletronico.com.br</EmailPre> <TipoTribPre>SN</TipoTribPre> <DtAdeSN>01/01/2007</DtAdeSN> <AlqIssSN>2.50</AlqIssSN> <SitNf>1</SitNf> <DataCncNf>//00:00:00</DataCncNf> <MotivoCncNf/> <TipoCpfCnpjTom>C</TipoCpfCnpjTom> <CpfCnpjTom>CONSUMIDOR</CpfCnpjTom> <RazSocTom>ConsumidorFinal</RazSocTom> <LogTom>ConsumidorFinal</LogTom> <NumEndTom/> <ComplEndTom/> <BairroTom>ConsumidorFinal</BairroTom> <MunTom>PETROPOLIS</MunTom> <SiglaUFTom>RJ</SiglaUFTom> <CepTom>0</CepTom> <EMailTom/> <LogLocPre/> <NumEndLocPre/> <ComplEndLocPre/> <BairroLocPre/> <MunLocPre>PETROPOLIS</MunLocPre> <SiglaUFLocpre>RJ</SiglaUFLocpre> <CepLocPre>0</CepLocPre> <CodSrv>14.01</CodSrv> <DiscrSrv>Lubrifica?co,limpeza,lustra?co,revisco,cargaerecarga,conserto,restaura?co,blindagem,manuten?coeconserva?codemaquinas,veiculos,aparelhos,equipamentos,motores,elevadoresoudequalquerobjeto(excetope?asepartesempregadas,queficamglksclfjwejgwlel</DiscrSrv> <VlNFS>250.00</VlNFS> <VlDed>0.00</VlDed> <DiscrDed/> <VlBasCalc>250.00</VlBasCalc> <AlqIss>2.50</AlqIss> <VlIss>6.25</VlIss> <VlIssRet>0.00</VlIssRet> <Reg30> <Reg30Item> <TributoSigla>IR</TributoSigla> <TributoAliquota>0.00</TributoAliquota> <TributoValor>0.00</TributoValor> </Reg30Item> <Reg30Item> <TributoSigla>PIS</TributoSigla> <TributoAliquota>0.00</TributoAliquota> <TributoValor>0.00</TributoValor> </Reg30Item> <Reg30Item> <TributoSigla>COFINS</TributoSigla> <TributoAliquota>0.00</TributoAliquota> <TributoValor>0.00</TributoValor> </Reg30Item> <Reg30Item> <TributoSigla>CSLL</TributoSigla> <TributoAliquota>0.00</TributoAliquota> <TributoValor>0.00</TributoValor> </Reg30Item> <Reg30Item> <TributoSigla>INSS</TributoSigla> <TributoAliquota>0.00</TributoAliquota> <TributoValor>0.00</TributoValor> </Reg30Item> <Reg30Item> <TributoSigla>ISS</TributoSigla> <TributoAliquota>0.00</TributoAliquota> <TributoValor>0.00</TributoValor> </Reg30Item> <Reg30Item> <TributoSigla>OUTROS</TributoSigla> <TributoAliquota>0.00</TributoAliquota> <TributoValor>0.00</TributoValor> </Reg30Item> </Reg30> </Reg20Item> </Reg20> <Reg90> <QtdRegNormal>1</QtdRegNormal> <ValorNFS>250.00</ValorNFS> <ValorISS>0.00</ValorISS> <ValorDed>0.00</ValorDed> <ValorIssRet>0.00</ValorIssRet> <QtdReg30>7</QtdReg30> <ValorTributos>0.00</ValorTributos> </Reg90> </XML_Notas> </Sdt_consultanotasprotocoloout> </ws_nfe.CONSULTANOTASPROTOCOLOResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>' oMnuXml := TXMLDocument():New( cxml, HBXML_STYLE_NOESCAPE ) IF oMnuXml:nError != HBXML_ERROR_NONE Msgstop( "xml com problema " + Str( oMnuXml:nError ) ) ENDIF DESDE JÁ AGRADEÇO A QUEM CONSEGUIR DECIFRAR O ENIGMA. Ronaldbuch 1 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted October 19, 2015 Report Share Posted October 19, 2015 Cadê o fonte que faz a leitura? E o que é o erro 4? O que diz? Quote Link to comment Share on other sites More sharing options...
PauloPJ Posted October 19, 2015 Author Report Share Posted October 19, 2015 Obrigado ! A Variável cXML := é xml em questão. O erro que aparece é 4, é a variável do oMnuXml:nErro O que diz eu não sei , pois não achei manual contendo esta tabela de erro. // codigo fonte oMnuXml := TXMLDocument():New( cxml, HBXML_STYLE_NOESCAPE ) IF oMnuXml:nError != HBXML_ERROR_NONE Msgstop( "xml com problema " + Str( oMnuXml:nError ) ) ENDIF Quote Link to comment Share on other sites More sharing options...
kapiaba Posted October 19, 2015 Report Share Posted October 19, 2015 Tá usando Harbour? http://www.pctoledo.com.br/forum/viewtopic.php?f=4&t=13103 http://www.pctoledo.com.br/forum/viewtopic.php?f=54&t=15913 http://xharbour-developers.narkive.com/pO3aJLbe/txmldocument-parser-error-because-of-byte-order-mark https://searchcode.com/codesearch/view/4527497/ http://forums.fivetechsupport.com/viewtopic.php?f=3&t=18672 Quote Link to comment Share on other sites More sharing options...
PauloPJ Posted October 19, 2015 Author Report Share Posted October 19, 2015 Obrigado novamente! o Sistema é todo em Five com alguns methods de harbour e xharbour . Eu tenho isso funcionando com o XML da NFe e NFCe. o problema esta dando da importação do XML da prefeitura de Petrópolis. Como não tem um manual desta classe, eu fico as segas, para saber interpretar o erro. Fiz testes usando C# e funcionou perfeito, fui então testar no Five , eu consigo consumir o web service deles, porem quando volta o XML vem em um formato que a classe TXMLDocument() não consegue ler. Senão vou ter que criar uma classe própria para interpretar o XML. Não queria perder este tempo inventando a roda. Quote Link to comment Share on other sites More sharing options...
PauloPJ Posted October 19, 2015 Author Report Share Posted October 19, 2015 Valeu Kapiaba. Nos links que voçe postou achei uma maneira de dizer qual o erro . HB_XmlErrorDesc(oXmlDoc:nError) o erro é de caracter invalido na tag name. agora qual ??? passando o olho, tirei os : , _ , - das tags mas não resolveu. Quote Link to comment Share on other sites More sharing options...
PauloPJ Posted October 19, 2015 Author Report Share Posted October 19, 2015 Outra coisa o XML que estou tentando ler é um XML SOAP. Será que tem diferença na interpretação do XML via a classe? Quote Link to comment Share on other sites More sharing options...
kapiaba Posted October 19, 2015 Report Share Posted October 19, 2015 http://www.pctoledo.com.br/forum/viewtopic.php?f=4&t=14723 http://www.pctoledo.com.br/forum/viewtopic.php?f=4&t=7355 http://objectmix.com/xharbour/347017-soap-integration-xharbour.html Quote Link to comment Share on other sites More sharing options...
kleyber Posted October 19, 2015 Report Share Posted October 19, 2015 Olá, O problema pode estar aqui: <DiscrSrv>Lubrifica?co,limpeza,lustra?co,revisco,cargaerecarga,conserto,restaura?co,blindagem,manuten?coeconserva?codemaquinas,veiculos,aparelhos,equipamentos,motores,elevadoresoudequalquerobjeto(excetope?asepartesempregadas,queficamglksclfjwejgwlel</DiscrSrv> Tente retirar as acentuações neste campo. kapiaba 1 Quote Link to comment Share on other sites More sharing options...
PauloPJ Posted October 20, 2015 Author Report Share Posted October 20, 2015 Ola Kleyber! Obrigado pela postagem Eu retirei esta linha para teste e deu o mesmo problema. Quote Link to comment Share on other sites More sharing options...
PauloPJ Posted October 21, 2015 Author Report Share Posted October 21, 2015 RESOLVIDO O problema era barberagem da Prefeitura de Petrópolis, a Tag <ws_nfe.CONSULTANOTASPROTOCOLOResponsexmlns="NFe"> , está com erro: "ws_nfe." este ponto dentro da tag que era rejeitado pela classe. Obrigado a todos Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.