Jump to content

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

Recommended Posts

Posted

Boa tarde, colegas!!

Recentemente após a atualização da exigência do TLS V 1.2 para NFE 4.0, resolvi mudar todos os meus clientes para utilizarem o OpenSSL (Todos eles usam certificados A1) acreditando que essa seria a melhor alternativa (Mais prática), visto que muitos deles ainda possuem windows desatualizados e sem suporte a TLS 1.2 (o que demandaria tempo demais).
Bem, o meu problema é o seguinte:  De vez em quando obtenho o erro 10060 utilizando o OpenSSL. Fiz o teste em um dos clientes deixei todas as máquinas usando a Wincrypt e apenas 1 delas usando openSSL, o resultado foi:
1) A máquina com OpenSSL emitiu notas em contingência 15 vezes durante o dia sempre por conta deste mesmo erro ( 10060)
2) As máquinas configuradas com wincrypt não emitiram nenhuma nota em contingência. Funcionaram online 100% do tempo.

Outra coisa que eu percebi é que o tempo de timeout  da ocorrência deste erro,
não obedece o tempo de  timeout definido em dm.ACBrNFe1.Configuracoes.WebServices.TimeOut, esse erro acontece sempre em mais ou menos 20 segundos. E sempre que ocorreram, nenhuma nota chegou a ser realmente autorizada (Como acontecia na Capicom ou até com a Wincrypt de vez em quando).

O meu medo é gerar um grande volume de inutilizações no final do mês.
Estou usando a versão 1.02.13

Como o meu executável não é compilado para 64 bits, utilizo sempre a versão de 32 bits (independente do S.O)
Algum dos colegas já passaram pelo mesmo problema ??

Grande abraço  a todos e obrigado!

  • Fundadores
Posted

https://support.microsoft.com/pt-br/help/191143/10060-connection-timed-out-error-with-proxy-server-or-isa-server-on-sl

10060 é TimeOut... o WebService não respondeu, portanto o problema é na SEFAZ

21 horas atrás, João Marcos_14485 disse:

não obedece o tempo de  timeout definido em dm.ACBrNFe1.Configuracoes.WebServices.TimeOut,

TimeOut ocorre a nível de Sistema Operacional, então nem todas as situações podem ser tratadas pela aplicação...

A única maneira de ter um TimeOut preciso, é usar a opção SSL.TimeOutPorThread := True

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Posted

Hum... também migrei para OpenSSL os clientes que possuem certificado A1 (antes utilizava Capicom, para A3 fui para WinCrypt), e os clientes começaram a reclamar que quando estão sem internet o sistema parou de entrar em Contingência Offline, pois o tratava em meu sistema os erros: 12007, 12002, 12029 para assumir a Contingência... percebi que também está retornando o erro 10060 com OpenSSL, então vou acrescentar mais esse erro para assumir a entrada em Contingência Offline em meu sistema.

Posted
1 hora atrás, Daniel Simoes disse:

Porque não tratar erros de cm contingência off-line  em OnTransmitError ?

Ué... nunca usei esse cara não Daniel. Sempre utilizei try...except e então verifico os códigos que assumo a contingência. Como funciona exatamente esse OnTransmitError, se dispará-lo já assumiria a contingência sem verificação de códigos?

  • Fundadores
Posted

O ACBrNFe, irá disparar esse evento, sempre que houver um erro de transmissão... nele vc pode pegar o HTTPCode e o InternalError...

Com isso, fica mais simples de ligar na sua aplicação um Flag, para iniciar a emissão em off-line

Nesse vídeo (exclusivo a assinantes do SAC), isso é demonstrado em detalhes

image.png

  • Thanks 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Posted
On 7/17/2018 at 1:11 PM, Daniel Simoes said:

https://support.microsoft.com/pt-br/help/191143/10060-connection-timed-out-error-with-proxy-server-or-isa-server-on-sl

10060 é TimeOut... o WebService não respondeu, portanto o problema é na SEFAZ

TimeOut ocorre a nível de Sistema Operacional, então nem todas as situações podem ser tratadas pela aplicação...

A única maneira de ter um TimeOut preciso, é usar a opção SSL.TimeOutPorThread := True

Obrigado pela dica, Daniel!
Vou modificar desta forma  para ver os resultados que tenho!

Tive um problema novo na segunda: (Acredito que o WS deu pau em alguns estados). O que ocorria é que quem estava usando OpenSSL ao chamar o método de enviar a nota, a aplicação simplesmente ficava travada. Não retornava timeout, mas o método de envio também não finalizava nunca.

Vou tentar usar desta forma. Muito obrigado pela ajuda, meu velho!

 

  • Fundadores
Posted
7 minutos atrás, João Marcos_14485 disse:

O que ocorria é que quem estava usando OpenSSL ao chamar o método de enviar a nota, a aplicação simplesmente ficava travada. Não retornava timeout, mas o método de envio também não finalizava nunca.

Passamos por esse mesmo problema.. a comunicação HTTPS do ACBr com a OpenSSL é feita pela classe Synapse, e ela, no Windows usa a API WinSock, que é muito baixo nível....

Por isso que criamos a propriedade TimeOutPorThread... Nesse caso o ACBr abre uma Thread para tentar a comunicação... enquanto a Thread Principal, verifica se o TimeOut ocorreu... se ele ocorreu, a Thread é simplesmente abandonada...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Posted

 

10 horas atrás, Daniel Simoes disse:

Passamos por esse mesmo problema.. a comunicação HTTPS do ACBr com a OpenSSL é feita pela classe Synapse, e ela, no Windows usa a API WinSock, que é muito baixo nível....

Por isso que criamos a propriedade TimeOutPorThread... Nesse caso o ACBr abre uma Thread para tentar a comunicação... enquanto a Thread Principal, verifica se o TimeOut ocorreu... se ele ocorreu, a Thread é simplesmente abandonada...

Então o meu problema tá resolvido!
Muito obrigado, meu velho!!

  • Este tópico foi criado há 2406 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...