Membros Pro TiagoTecchio Posted June 14 Membros Pro Share Posted June 14 (edited) Boa tarde. Estou enfrentando um problema estranho num cliente, estou completamente no escuro. Ao emitir uma NFC-e o componente AcbrNfe levanta uma exceção sem mensagem. Fiz um rastreio usando o MadExcept mas não me ajudou muito. O mais bizarro é que no meu computador, em desenvolvimento, funciona perfeitamente. Verificando os logs que o componente gera, os XMLs estão OK, assinados, o retorno veio OK da Sefaz informando a autorização. O problema parece na interpretação do retorno dentro do componente. Parece que algo mudou nas units da NFe entre os dias 13/05 (dia da minha última atualização do SVN) e 12/06, pois ao usar um exec anterior a 12/06 funciona perfeitamente. Minha config de assinatura é : acbrNFCE.Configuracoes.Geral.SSLCryptLib := ACBrDFeSSL.cryWinCrypt; acbrNFCE.Configuracoes.Geral.SSLHttpLib := ACBrDFeSSL.httpWinHttp; acbrNFCE.Configuracoes.Geral.SSLLib := ACBrDFeSSL.libWinCrypt; acbrNFCE.Configuracoes.Geral.SSLXmlSignLib := ACBrDFeSSL.xsMsXml; acbrNFCE.SSL.SSLType := blcksock.LT_TLSv1_2; Log: callstack crc : $594e6622, $fdd1279b, $fdd1279b exception number : 1 exception class : EACBrDFeException exception message : Unknown. main thread ($19b0): 016ce523 +08b prERP2.exe ACBrDFe 636 +10 TACBrDFe.GerarException 016d7397 +01b prERP2.exe ACBrDFeWebService 540 +1 TDFeWebService.GerarException 0179887d +08d prERP2.exe ACBrNFeWebServices 4029 +9 TWebServices.Envia 017a04e6 +0fa prERP2.exe ACBrNFe 731 +14 TACBrNFe.Enviar 017a03ba +042 prERP2.exe ACBrNFe 710 +1 TACBrNFe.Enviar 01bf9b5a +202 prERP2.exe ADMNfe 8418 +49 TDMNfe.EnviaNFCeLocal 02aea5f3 +5a7 prERP2.exe NfeMonitor 2365 +86 TFNfeMonitor.ProcessaAutoriza 02ae0137 +02b prERP2.exe NfeMonitor 578 +5 TFNfeMonitor.btGerarEnviarClick 005d1213 +06f prERP2.exe Vcl.Controls TControl.Click 005f49b6 +01e prERP2.exe Vcl.StdCtrls TCustomButton.Click 005f54bc +010 prERP2.exe Vcl.StdCtrls TCustomButton.CNCommand Edited June 14 by TiagoTecchio typo Link to comment Share on other sites More sharing options...
Consultores Victor H. Gonzales - Panda Posted June 14 Consultores Share Posted June 14 Coloca um breakpoint no envia e vai no F7 até subir a exceção veja se consegue saber onde é. referente a ocorrer somente no seu cliente, sugiro rodar então em Debug remoto usando PAServer. Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !! "Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci "Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo" Link to comment Share on other sites More sharing options...
Membros Pro TiagoTecchio Posted June 14 Author Membros Pro Share Posted June 14 Victor, Como mencionei, no meu PC funciona OK, já debuguei até as entranhas do ACBr sem sucesso. Mas consegui achar o problema: DLLs. Adicionei os arquivos libexslt.dll, libiconv.dll, libxml2.dll, libxslt.dll e msvcr120.dll junto ao exec no servidor do cliente e magicamente funcionou. Só não entendi o motivo: estas DLLs são obrigatórias a partir de agora? Porque não eram até dias atrás. Link to comment Share on other sites More sharing options...
Consultores Solution Victor H. Gonzales - Panda Posted June 14 Consultores Solution Share Posted June 14 LibXML2 ela é obrigatória se você usa ela para assinatura parametrizada com ela a LibXML2 tem as dependências libexslt.dll libiconv.dll libxslt.dll somente essas DLL e isso não mudou, como também não são novas. Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !! "Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci "Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo" Link to comment Share on other sites More sharing options...
Membros Pro TiagoTecchio Posted June 14 Author Membros Pro Share Posted June 14 Entendi. Desculpe a ignorância, então pelo ACBr.inc abaixo eu estou usando a LibXML2 ? Link to comment Share on other sites More sharing options...
Consultores Victor H. Gonzales - Panda Posted June 14 Consultores Share Posted June 14 não, está certo usar a LIBXML2 para assinar documentos Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !! "Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci "Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo" Link to comment Share on other sites More sharing options...
Membros Pro TiagoTecchio Posted June 14 Author Membros Pro Share Posted June 14 (edited) Victor, vou tratar como resolvida esta questão mas não entendi a sua colocação. Obrigado pela ajuda. Edited June 14 by TiagoTecchio Link to comment Share on other sites More sharing options...
Consultores Victor H. Gonzales - Panda Posted June 14 Consultores Share Posted June 14 7 minutos atrás, TiagoTecchio disse: Victor, vou tratar como resolvida esta questão mas não entendi a sua colocação. Obrigado pela ajuda. Está correto hoje em dia usar a Libxml2, antigamente você devia usar outro tipo de assinatura, por isso não tinha essas DLL na sua aplicação. a LibXML2 acho que foi introduzida no componente em 2017, quando foi depreciado a Capcom / Msxml pela Microsoft 1 Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !! "Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci "Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo" Link to comment Share on other sites More sharing options...
Recommended Posts