Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Boa tarde, alguém com problemas para enviar eventos da NFe através do componente ACBrNFE utilizando certificado A3? estamos enfrentando um caso bizarro aqui onde se não ativar o TimeOutPorThread do ACBrDFeSSL o componente fica travado por horas esperando uma resposta.

O erro ocorre na unit ACBrDFeSSL no trecho de código a partir da linha 1405:

if TimeOutPorThread then
begin
  EndTime := IncSecond(now,TruncFix(TimeOut/1000));
  SendThread := TDFeSendThread.Create( Self,
                                       TDFeSSLHttpClassOf(FSSLHttpClass.ClassType),
                                       ConteudoXML, AURL, ASoapAction, AMimeType);
  try
    while (not SendThread.Done) and (Now <= EndTime) do
      Sleep(50);
  finally
    Result := SendThread.Response;
    ErrorMsg := SendThread.ExceptMessage;

    if not SendThread.Done then
      SendThread.Abort  // Isso forçará a Thread terminar, e morrer por si...
    else
      SendThread.Free;
  end;

  if not EstaVazio(ErrorMsg) then
    raise EACBrDFeException.Create('Erro na thread de envio: ' + ErrorMsg);

  if EstaVazio(Result) then
    raise EACBrDFeException.Create('Timeout - Não foi possível obter a resposta do servidor');
  end
  else
  begin
    FHttpSendCriticalSection.Acquire;
    try
      Result := FSSLHttpClass.Enviar(ConteudoXML, AURL, ASoapAction, AMimeType, AAuthorizationHeader);
    finally
      FHttpSendCriticalSection.Release;
  end;
end;


No caso, se ativarmos o TimeOutPorThread através da seguinte configuração: 

ACBrNFe.Configuracoes.WebServices.TimeOutPorThread := True;

o componente, após 5 segundos, retorna um erro de timeout e finalmente pede o PIN do token, após informarmos o PIN, todas as requisições são enviadas normalmente pelo componente.
Se não ativarmos tal configuração, o componente fica travado e nunca pede o PIN, porém, só com o PIN ele vai conseguir fazer as requisições...

Alguém tem alguma ideia do que pode ser? Isso não acontece em todas as máquinas, na minha por exemplo, funciona normalmente, porém, na máquina de outro colega acontece também.

Anexo coloquei um relatório de erros que o componente retorna quando ativamos o TimeOut, caso seja necessário...

erro.txt

Postado

Infelizmente não, o cliente precisava do certificado então tivemos que devolver, não tenho mais como testar com o certificado...

Existe alguma possibilidade de abrirmos a tela do PIN manualmente? no caso, forçar utilizar o PIN antes de iniciar qualquer ação, por exemplo, ao carregar o certificado no componente antes de realizar algum evento?

  • Membros Pro
Postado

isso acontecia em um dos meus clientes.. o sistema travava esperando aparecer o PIN da senha... quando entrava no gestor do token também travava.. então era necessário retirar o leitor / token da porta usb e inserir novamente, ou até mesmo as vezes reiniciar a maquina..  e só acontecia em uma das maquinas... recomendei que fizessem um certificado A1 para a emissão das notas...

AGGILLE-LOGO-500x180_fw.jpg.07c79ceacf0537ee105c0bbf0139435f.jpg

Aggille Sistemas de Gestão
Leandro do Couto
(51) 99105.1600
Novo Hamburgo / RS
[email protected]
www.aggille.com.br

  • Consultores
Postado

O problema é a instalação correta do driver do leitor. assim tu pode salvar a senha no componente e vai funcionar sem travar

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
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 !!

Postado
Em 02/08/2022 at 08:27, Juliomar Marchetti disse:

O problema é a instalação correta do driver do leitor. assim tu pode salvar a senha no componente e vai funcionar sem travar

Juliomar, consegue me dar mais detalhes de como fazer essa instalação correta do driver do leitor?

No meu caso, estas são as configurações que fiz durante a instalação:

image.png.05d5d74e62601d5c3b25b7b30b163904.png

E quando tu fala que da pra salvar a senha no componente, podes me dizer qual a propriedade para informar o PIN do token A3?

Em 01/08/2022 at 17:50, Aggille Sistemas de Gestão disse:

isso acontecia em um dos meus clientes.. o sistema travava esperando aparecer o PIN da senha... quando entrava no gestor do token também travava.. então era necessário retirar o leitor / token da porta usb e inserir novamente, ou até mesmo as vezes reiniciar a maquina..  e só acontecia em uma das maquinas... recomendei que fizessem um certificado A1 para a emissão das notas...

Leandro, infelizmente o cliente é mais teimoso que uma mula... 😅

  • Haha 1
  • Consultores
Postado
1 hora atrás, nickolas.deluca disse:

Juliomar, consegue me dar mais detalhes de como fazer essa instalação correta do driver do leitor?

No meu caso, estas são as configurações que fiz durante a instalação:

image.png.05d5d74e62601d5c3b25b7b30b163904.png

E quando tu fala que da pra salvar a senha no componente, podes me dizer qual a propriedade para informar o PIN do token A3?

Leandro, infelizmente o cliente é mais teimoso que uma mula... 😅

no caso vai depender de cada fabricante e as cadeias de certificados.

é a mesma que tem no exemplo do svn pra tu salvar a senha do A1 no componente

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
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 !!

  • Este tópico foi criado há 1396 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.