Novos retornos de erro de conexão - NFe/NFCe - Nota Fiscal Eletrônica - Projeto ACBr
Novos retornos de erro de conexão
Olá a todos , reestruturei meu emissor NFCe no que diz respeito as configurações das propriedades de SSLCryptLib, SSLHttpLib, SSLLib, SSLXmlSignLib e SSLType, com isso agora eu tenho a flexibilidade de configurar tais opções conforme eu achar mais interessante, fugindo assim dos inconvenientes e limitações do Capicom usado por mim há anos em diversos clientes.
Em ambiente de testes ficou legal, mas agora fui implantar em ambiente de produção em um dos meus clientes e tive um problema novo.
Meu aplicativo emissor de NFCe basicamente verifica no ato do envio do cupom, em casos de exceção, se o erro contém a string "requisição não enviada" ou "tempo limite" , se positivo ele considera que houve queda de conexão e gera tal nota no modo contingência, do contrário exibe o erro para o usuário resolver, por exemplo: NCM Inválido, cEAN Inválido, etc.
Meu aplicativo emissor funciona há anos nos clientes com essa regra e sempre fluiu bem, mas sempre usei as configurações padrão do ACBrNFe no que tange o SSL, basicamente sempre usei CAPICOM.
Nesse cliente, que tem 3 caixas, optei por usar o OpenSSL e o certificado puxo direto do banco, perfeito. O problema é, no cliente já com tudo funcionando eu desliguei a conexão da internet e me surpreendi com o fato de ter surgido um novo retorno de exceção, até então não conhecido e consequentemente não tratável por mim nesses casos de falha de conexão:
Em outra máquina deu:
Erro Interno: 11004
Por curiosidade mudei para Wincrypt, aí ao desligar a internet o erro retornado é:
Outro detalhe, ao simular a queda de conexão em ambiente de testes no laboratório, só recebo os erros já conhecidos até então e tratados por mim, "requisição não enviada" ou "tempo limite".
1 - Esses novos tipos de erros referentes a queda de conexão foram consequência da troca do Capicom por OpenSSL, Wincrypt, etc?
2 - Se sim para a dúvida acima, qual a lista de erros que posso esperar e consequentemente tratar transformando em uma contingência?
3- Porque em ambiente de testes não recebo os mesmos erros desse cliente? PS: Em ambos os ambientes uso OpenSSL e Windows XP.