Ir para conteúdo
  • Cadastre-se

dev botao

ACBrNFe 4.0 - Erro ao executar status Serviço


JJA
  • Este tópico foi criado há 2296 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia pessoal,

estou testando o componente ACBrNFe com a versão 4.0 e ao executar o comando abaixo da erro usando como Capicom ou WinCrypt:

ACBrNFe.WebServices.StatusServico.Executar;

---------------------------
Atenção
---------------------------
WebService Consulta Status serviço:
- Inativo ou Inoperante tente novamente.
Erro Interno: 0
Erro HTTP: 500

---------------------------
OK   
---------------------------
 

Se mudo para OpenSSL, me retorna o erro:

---------------------------
Atenção
---------------------------
WebService Consulta Status serviço:
- Inativo ou Inoperante tente novamente.
OpenSSL 0.9.8n 24 Mar 2010, não suporta LT_TLSv1_2
---------------------------
OK   
---------------------------
 

Dúvidas:

- Devo atualizar a DLL para usar com OpenSSL correto?

- Para Nfe4.0 não funcionará mais Capicom? Mas o WinCrypt substituiria certo?

Link para o comentário
Compartilhar em outros sites

Para SP, tanto em homologação como em produção.

PS: Atualizei as DLLs libeay32.dll e ssleay32.dll para as versão 0.9.8.14 que estão disponíveis no repositório do ACBr, porém continua com o mesmo erro.

WebService Consulta Status serviço:
- Inativo ou Inoperante tente novamente.
OpenSSL 0.9.8n 24 Mar 2010, não suporta LT_TLSv1_2

Como devo proceder para substituir essas DLLs? Sei que tem um padrão para Windows 32bits ou 64bits, para se colocar nas pastas certas, mas nunca sei e acabo sempre substituindo tanto na system32 quanto na Syswow64

Link para o comentário
Compartilhar em outros sites

  • Moderadores
42 minutos atrás, JJA disse:

PS: Pergunta idiota, como eu sei que o meu Delphi é 32Bits ou 64bits?

Não é o seu Delphi que tem quer ser 32 ou 64bits, mas a arquitetura para o qual você vai compilar o seu executável.

Isso é definido no project manager.

64bits.png.49f5ace1440125487a56e4b212e28783.png

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

5 horas atrás, BigWings disse:

Não é só copiar as DLLs.

Leia com atenção o tópico:

 

Em relação ao tópico citado, fiz como no tutorial, copiei as DLLs da pasta MinGW para o pasta Windows\SysWOW64, também copiei para pasta do meu sistema, alterei o arquivo ACBr.inc editando a linha:

{$DEFINE USE_MINGW}   

Agora ao executar o meu sistema, da o erro:

---------------------------
Debugger Fault Notification
---------------------------
Project C:\projetoXXX.exe faulted with message: 'access violation at 0x00000030: access of address 0x00000030'. Process Stopped. Use Step or Run to continue.
---------------------------
OK   
---------------------------
 

e não sai dele. Se renomear novamente o ACBr.inc, o sistema executa. O que pode estar errado?

Link para o comentário
Compartilhar em outros sites

Agora, BigWings disse:

Alguma DLL antiga no diretório da aplicação?

Antiga comparada a quais?Tenho muitas DLLs no diretório da aplicação, como eu copiei todas da pasta MinGW e substitui todas as que apareceram, imagino que as antigas foram substituídas pelas novas que eu copiei.

Quais DLLs fora as da pasta MinGW poderia ser antiga e não deveria estar na pasta? Porque o que eu fiz foi apenas copiar na minha pasta da aplicação, mantendo todas as DLLS que já existiam lá.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
8 minutos atrás, JJA disse:

Antiga comparada a quais?Tenho muitas DLLs no diretório da aplicação, como eu copiei todas da pasta MinGW e substitui todas as que apareceram, imagino que as antigas foram substituídas pelas novas que eu copiei.

Quais DLLs fora as da pasta MinGW poderia ser antiga e não deveria estar na pasta? Porque o que eu fiz foi apenas copiar na minha pasta da aplicação, mantendo todas as DLLS que já existiam lá.

Se copiou todas as DLLs para a pasta da aplicação, deveria funcionar...

O passo a passo:

- Copiar todas as DLLs da pasta MINGw\32 ou MINGw\64 para o diretório de sistema do Windows.

- Editar o ACBr.inc ativando o {$DEFINE USE_MINGW}

- Recompilar o ACBr (use o instalador, marcando a opção de apagar arquivos antigos).

- Recompilar a aplicação.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

opa, não recompilei o ACBr, sorry.

Aproveitando então, me tira uma dúvida, preciso apenas recompilar o ACbr ou precisa reinstalar os componentes?

Sobre o Target Platforms, não aparece este icone no meu projeto.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
1 minuto atrás, JJA disse:

Aproveitando então, me tira uma dúvida, preciso apenas recompilar o ACbr ou precisa reinstalar os componentes?

O instalador já faz tudo.

1 minuto atrás, JJA disse:

Sobre o Target Platforms, não aparece este icone no meu projeto.

O Delphi compila pra 64bits a partir da versão XE2.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

16 horas atrás, BigWings disse:

O Delphi compila pra 64bits a partir da versão XE2.

Certo. Aqui usamos o delphi 2010, então certamente só compilar para 32bits correto?

Porém percebi que algumas DLLs são usadas da pasta SysWOW64, quando estava atualizando as DLLs da pasta SysWOW64 e o ACBrNFedemo estava sendo executado junto com o meu projeto feito em Delphi 2010. Não consegui sobrepor, somente depois de ter fechado a aplicação e o Delphi. É porque ela está compilada para 64bits correto? Porém minhas aplicações feitas no Delphi 2010 são todas em 32bits.

Editado por JJA
Link para o comentário
Compartilhar em outros sites

  • Moderadores
10 minutos atrás, JJA disse:

Não consegui sobrepor, somente depois de ter fechado a aplicação e o Delphi. É porque ela está compilada para 64bits correto?

Só quer dizer que elas estavam em uso, então você não conseguiu sobrescrever. Nenhuma relação com ser 64bits. 

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

2 minutos atrás, BigWings disse:

Só quer dizer que elas estavam em uso, então você não conseguiu sobrescrever. Nenhuma relação com ser 64bits. 

Então, mas a 'regra' não é se uma aplicação é 32bits,  ele usa as DLLs da pasta system32, e se for 64bits, usa as DLLs da pasta sysWOW64?

Ou não, não tem nada a ver e uma aplicação pode sim usar DLLs tanto da pasta system32 e sysWOW64  ao mesmo tempo.

Desculpe se a dúvida não tem relação direta com o tópico, mas esta é uma dúvida que eu sempre tive, tanto é que no tópico sugerido, ele diz que você deve substituir as DLLs ou na pasta system32 quanto na sysWOW64 dependendo da sua aplicação.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
4 minutos atrás, JJA disse:

Então, mas a 'regra' não é se uma aplicação é 32bits,  ele usa as DLLs da pasta system32, e se for 64bits, usa as DLLs da pasta sysWOW64?

Citar

Observe que, essas DLLs são 32 bits, e portanto só funcionarão para aplicações compiladas com um compilador 32 bits (que é o padrão para Delphi e Lazarus)... Uma aplicação 32 bits roda em um S.O. 64 bits, mas o oposto não ocorre...

Considerando que essa DLLs são 32 bits, então:

  • Se o seu Windows for 32 bits, copie para a pasta:  C:\Windows\System32
  • Se o seu Windows for 64 bits, copie para a pasta:  C:\Windows\SysWOW64

Se você estiver instalando DLLs de 64 bits em um Windows 64 bits, então a pasta correta é: C:\Windows\System32 (vai entender... pergunte pra Microsoft)

 

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
26 minutos atrás, JJA disse:

Certo, eu vi esta parte, mas para facilitar a vida não seria mais facil então copiar as DLLs para ambas as pastas?

Você pode testar, mas não vejo necessidade. Ele deve usar apenas das DLLs da pasta SysWOW64.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

Boa tarde,

fiz as alterações nacessárias, alterada as DLLs, alterado o arquivo ACBr.inc e recompilado o componente.

O erro da DLL desatualizada não ocorre mais:

OpenSSL 0.9.8n 24 Mar 2010, não suporta LT_TLSv1_2

Porém ocorrem outros erros:

Usando a SSLLib = WinCrypt ou Capicom, ocorre a seguinte mensagem:


WebService Consulta Status serviço:
- Inativo ou Inoperante tente novamente.
PFXDataToCertContextWinApi: Falha em "PFXImportCertStore" Erro: 80090345

 

Usando SSLLib = OpenSSL, ocorre o seguinte erro:


WebService Consulta Status serviço:
- Inativo ou Inoperante tente novamente.
Erro Interno: 11001
Erro HTTP: 500

 

Para mim, sinceramente não importa qual SSLLib usar, desde que eu consiga usar tanto certificados A1 como A3, pois tenho clientes que usam ambas as modalidades.

Link para o comentário
Compartilhar em outros sites

23 horas atrás, JJA disse:

Boa tarde,

fiz as alterações nacessárias, alterada as DLLs, alterado o arquivo ACBr.inc e recompilado o componente.

O erro da DLL desatualizada não ocorre mais:

OpenSSL 0.9.8n 24 Mar 2010, não suporta LT_TLSv1_2

Porém ocorrem outros erros:

Usando a SSLLib = WinCrypt ou Capicom, ocorre a seguinte mensagem:


WebService Consulta Status serviço:
- Inativo ou Inoperante tente novamente.
PFXDataToCertContextWinApi: Falha em "PFXImportCertStore" Erro: 80090345

 

Usando SSLLib = OpenSSL, ocorre o seguinte erro:


WebService Consulta Status serviço:
- Inativo ou Inoperante tente novamente.
Erro Interno: 11001
Erro HTTP: 500

 

Para mim, sinceramente não importa qual SSLLib usar, desde que eu consiga usar tanto certificados A1 como A3, pois tenho clientes que usam ambas as modalidades.

 

JJA boa tarde, conseguiu resolver a questão do status? 

segui os passos que foi te passado, fiz igual mas não consegui nem com o certificado A1 nem com o A3.

Aguardo, abç.

Link para o comentário
Compartilhar em outros sites

4 minutos atrás, sandrovillas disse:

 

JJA boa tarde, conseguiu resolver a questão do status? 

segui os passos que foi te passado, fiz igual mas não consegui nem com o certificado A1 nem com o A3.

Aguardo, abç.

Boa tarde sandrovillas,

ainda não, consegui progredir com a atualização das DLLs e reinstalação do componente para usar TL 1.2 mas agora parei com o erro acima.

Link para o comentário
Compartilhar em outros sites

31 minutos atrás, sandrovillas disse:

Vou seguir aqui, se conseguir fazer funcionar, peço que compartilhe ok, vou fazer o mesmo, abç.

 

Ah, pode deixar que compartilho sim. Fica tranquilo.

Poste as mensagens de erro que está tendo para ver se descobrimos algo ok

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2296 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...