Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado

Prezados, boa tarde.

Tenho um monitor para capturar os conhecimentos de transporte, e começou a apresentar o seguinte erro:

Exceção: Sessão não [%s] existe no arquivo de configuração

O erro completo é:

fail: Dfe.Monitor.CapturaCte.Workers.CapturaCte.CapturaCteWorker[0]
      [MONITOR_CAPTURA_CTE][ProcessarEmpresa] Ocorreu uma exceção ao processar documento fiscal. Exceção: Sessão não [%s] existe no arquivo de configuração - Exceção interna:  - StackTrace:    at Keevo.Pacotes.Infra.ACBrLib.Core.ACBrLibHandle.CheckResult(Int32 ret)
         at Dfe.Monitor.CapturaCte.Servicos.AcbrCTeServico.ConfigurarCertificado(ACBrCTe acbrCTe, CertificadoResumoModel certificadodigitalkeevo) in /src/Servicos/AcbrCTeServico.cs:line 53
         at Dfe.Monitor.CapturaCte.Workers.CapturaCte.CapturaCteWorker.ProcessarEmpresa(EmpresaParametrosCteSelecaoModel empresacteselecaomodel, SemaphoreSlim semaphoreempresa) in /src/Workers/CapturaCte/CapturaCteWorker.cs:line 186

Conseguem me ajudar por favor ?

Desde já agradeço.

****

A minha classe de serviço está configurada da seguinte forma:

 

using Autorizacao.Infra.IntegracaoApi.Certificado;
using Dfe.Pacotes.Infra.IntegracaoApi.Models.Passaporte;
using Keevo.Pacotes.Infra.ACBrLib.Core.DFe;
using Keevo.Pacotes.Infra.ACBrLib.CTe;
using Keevo.Pacotes.Infra.ACBrLib.CTe.Models;
using Keevo.Pacotes.Infra.ACBrLib.NFe;
using Keevo.Pacotes.Infra.ACBrLib.NFSe;
using Keevo.Pacotes.Infra.Utils.Conversao;
using Keevo.Pacotes.Infra.Utils.Diretorio;

namespace Dfe.Monitor.CapturaCte.Servicos
{
    public class AcbrCTeServico : IDisposable
    {
        public ACBrCTe acbrcte { get; set; }
        public EmpresaParametrosCteSelecaoModel empresacte { get; set; }
        public CertificadoResumoModel certificadodigitalkeevo { get; set; }
        public AcbrCTeServico(EmpresaParametrosCteSelecaoModel empresacte, CertificadoResumoModel certificadodigitalkeevo)
        {
            acbrcte = new();

            this.empresacte = empresacte;
            this.certificadodigitalkeevo = certificadodigitalkeevo;

            ConfigurarCertificado();
        }

        public DistribuicaoDFeResposta<TipoCTe> DistribuicaoDFe() => TratarDfeResposta(acbrcte.DistribuicaoDFe(empresacte.codigonfe.ToInt(),
                                                                                                     empresacte.cnpj,
                                                                                                     empresacte.ultimonsu ?? ("0").PadLeft(15, '0'), ""));
        public DistribuicaoDFeResposta<TipoCTe> DistribuicaoDFe(long ultimonsu) => DistribuicaoDFe(ultimonsu.ToString().PadLeft(15, '0'));
        public DistribuicaoDFeResposta<TipoCTe> DistribuicaoDFe(string ultimonsu) => TratarDfeResposta(acbrcte.DistribuicaoDFe(empresacte.codigonfe.ToInt(),
                                                                                                     empresacte.cnpj,
                                                                                                     ultimonsu, ""));

        public DistribuicaoDFeResposta<TipoCTe> DistribuicaoCtePorNSU(long nsu) => DistribuicaoCtePorNSU(nsu.ToString().PadLeft(15, '0'));
        public DistribuicaoDFeResposta<TipoCTe> DistribuicaoCtePorNSU(string nsu) => TratarDfeResposta(acbrcte.DistribuicaoDFePorNSU(empresacte.codigonfe.ToInt(),
                                                                                                     empresacte.cnpj,
                                                                                                     nsu));
        public DistribuicaoDFeResposta<TipoCTe> DistribuicaoCtePorChave(string chave)
            => DistribuicaoCtePorChave(empresacte, chave);
        public DistribuicaoDFeResposta<TipoCTe> DistribuicaoCtePorChave(EmpresaParametrosCteSelecaoModel empresacte, string chave)
            => TratarDfeResposta(acbrcte.DistribuicaoDFePorChave(empresacte.codigonfe.ToInt(), empresacte.cnpj, chave));

        public DistribuicaoDFeResposta<TipoCTe> TratarDfeResposta(string resposta) => DistribuicaoDFeResposta<TipoCTe>.LerResposta(resposta);

        private void ConfigurarCertificado()
        {
            ConfigurarCertificado(acbrcte, certificadodigitalkeevo);
        }

        public static void ConfigurarCertificado(ACBrCTe acbrCTe, CertificadoResumoModel certificadodigitalkeevo)
        {
            acbrCTe.Config.DFe.SSLCryptLib = GetSSLCryptLib();
            acbrCTe.Config.DFe.SSLHttpLib = GetSSLHttpLib();
            acbrCTe.Config.DFe.SSLXmlSignLib = SSLXmlSignLib.xsLibXml2;
            acbrCTe.Config.DFe.DadosPFX = certificadodigitalkeevo.arquivocertificado;
            acbrCTe.Config.DFe.Senha = certificadodigitalkeevo.senha;
            acbrCTe.Config.Ambiente = TipoAmbiente.taProducao;
            acbrCTe.Config.SalvarArq = false;
            acbrCTe.Config.SalvarGer = false;

            //Configurações para processamento
            acbrCTe.Config.SSLType = SSLType.LT_TLSv1_2;
            acbrCTe.Config.Timeout = 25000;
            acbrCTe.Config.AguardarConsultaRet = 0;
            acbrCTe.Config.Tentativas = 5;
            acbrCTe.Config.IntervaloTentativas = 1000;

            acbrCTe.Config.PathSchemas = KeevoDiretorio.AppPath() + @"/Schemas/CTe";
        }

        private static SSLCryptLib GetSSLCryptLib() => ACBrCTe.IsWindows ? SSLCryptLib.cryWinCrypt : SSLCryptLib.cryOpenSSL;
        private static SSLHttpLib GetSSLHttpLib() => ACBrCTe.IsWindows ? SSLHttpLib.httpWinHttp : SSLHttpLib.httpOpenSSL;
        public void Dispose()
        {
            acbrcte.Dispose();
        }
    }
}

 

  • 2 semanas depois ...
  • Administradores
Postado

Tópico fechado por falta de retorno do usuário

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(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 !!

  • Este tópico foi criado há 172 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...