Ir para conteúdo
  • Cadastre-se

TimeB256

Membros Pro
  • Total de ítens

    29
  • Registro em

  • Última visita

Sobre TimeB256

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

TimeB256's Achievements

  1. Consegui capturar o mesmo erro, mas ele agora deu uma mensagem que não havia percebido: Notem o último erro. AcbrCTeServico - antes de instanciar acbrcte (dotnet:28): GLib-GObject-WARNING **: 16:38:30.221: cannot register existing type 'GdkDisplayManager' (dotnet:28): GLib-CRITICAL **: 16:38:30.221: g_once_init_leave: assertion 'result != 0' failed (dotnet:28): GLib-GObject-CRITICAL **: 16:38:30.221: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed (dotnet:28): GLib-GObject-WARNING **: 16:38:30.221: invalid (NULL) pointer instance (dotnet:28): GLib-GObject-CRITICAL **: 16:38:30.221: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed (dotnet:28): GLib-GObject-WARNING **: 16:38:30.221: invalid (NULL) pointer instance (dotnet:28): GLib-GObject-CRITICAL **: 16:38:30.222: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed (dotnet:28): GLib-GObject-WARNING **: 16:38:30.222: cannot register existing type 'GdkDisplay' (dotnet:28): GLib-CRITICAL **: 16:38:30.222: g_once_init_leave: assertion 'result != 0' failed (dotnet:28): GLib-GObject-CRITICAL **: 16:38:30.222: g_type_register_static: assertion 'parent_type > 0' failed (dotnet:28): GLib-CRITICAL **: 16:38:30.223: g_once_init_leave: assertion 'result != 0' failed (dotnet:28): GLib-GObject-CRITICAL **: 16:38:30.223: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed Segmentation fault (core dumped) xvfb-run: error: problem while cleaning up temporary directory
  2. O meu arquivo dockerfile está configurado da seguinte forma: Está faltando alguma instalação? Vi que no post do Julio Cavalcanti, temos instalação de itens a mais. #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base RUN apt update && apt-get install -y libxml2 libxslt-dev libgtk2.0-0 xvfb WORKDIR /app EXPOSE 80 EXPOSE 443 FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build WORKDIR /src COPY src/WebApis/Api.Dfe/*.csproj ./ COPY src/nuget.config ./ RUN dotnet restore "Api.Dfe.csproj" /p:Configuration="Release" --configfile "./nuget.config" COPY src/WebApis/Api.Dfe/ ./ WORKDIR "/src" RUN dotnet build "Api.Dfe.csproj" -c Release -o /app FROM build AS publish RUN dotnet publish "Api.Dfe.csproj" -c Release -o /app FROM base AS final WORKDIR /app COPY --from=publish /app . #https://stackoverflow.com/questions/60934639/install-fonts-in-linux-container-for-asp-net-core # RUN echo "deb http://deb.debian.org/debian/ bookworm main contrib" > /etc/apt/sources.list && \ # echo "deb-src http://deb.debian.org/debian/ bookworm main contrib" >> /etc/apt/sources.list && \ # echo "deb http://security.debian.org/ bookworm-security main contrib" >> /etc/apt/sources.list && \ # echo "deb-src http://security.debian.org/ bookworm-security main contrib" >> /etc/apt/sources.list RUN sed -i'.bak' 's/$/ contrib/' /etc/apt/sources.list RUN apt-get update; apt-get install -y ttf-mscorefonts-installer fontconfig # ENV DISPLAY :99 # RUN chmod 0755 /app/start.sh # ENTRYPOINT ["bash", "start.sh"] # ENTRYPOINT ["xvfb-run", "dotnet", "Api.Dfe.dll"] ENTRYPOINT ["/bin/sh", "-c", "/usr/bin/xvfb-run -a $@", ""] CMD ["dotnet", "Api.Dfe.dll"]
  3. Atualizei as dlls agora, vou testar e reporto.
  4. Então, vou realizar o seguinte teste.. O que entendemos é que a acbr quando instanciada, carrega umas bibliotecas gráficas (xvfb e GdkWindow). Hoje, tenho um arquivo na api e no monitor (start.sh), onde tenho seguinte conteúdo: #!/bin/bash if [ -f /tmp/.X99-lock ]; then rm /tmp/.X99-lock fi Xvfb :99 -screen 0 1280x1024x24 -ac +extension GLX +render -noreset & dotnet Api.Dfe.dll No dockerfile, faço a seguinte config. ENV DISPLAY :99 RUN chmod 0755 /app/start.sh ENTRYPOINT ["bash", "start.sh"] Vou comentar esse cara, e adicionar o seguinte comando; ENTRYPOINT ["xvfb-run", "dotnet", "ACBr.API.dll"] Vi isso no seguinte link: https://github.com/frones/ACBr/blob/5013dcaa92124d4516a471628d92042a8354c3f3/Projetos/ACBrLib/Demos/C%23/ACBr.API/ACBr.API/Dockerfile#L6 Não sei se irá resolver, mas vamos testar aqui. Tinha que ter uma forma de configurar pra acbr nao carregar essas bibliotecas gráficas.
  5. Bom dia Renato, Esse caso sempre ocorreu, como fizemos os logs, vimos que é justamente quando instancia a dll e a api cai. Toda infraestrutura é no linux, Ubuntu 22.04.4
  6. Boa noite, estou com um grande problema. Tenho um worker que fica capturando notas, manifestando, e ele roda em um container docker. Esse monitor comunica com uma API minha, por exemplo para realizar a manifestação da nota. Veja esse trecho do código: private ACBrNFe ACBrNFe; private async Task<bool> ManifestarNota(NotasFiscaisManifestacaoModel nota, en_tipomanifestacao tipomanifestacao) { Console.WriteLine("Método ManifestarNota - Segundo processo"); bool result = false; var empresa = await _repositorio.empresa.SelecionarAsync(nota.idempresaevocenter); Console.WriteLine($"Método ManifestarNota - Empresa: {empresa.razaosocial}"); CertificadoPorParametrosModel certificadodigitalkeevo = await _kcenterworkscertificadoservico.SelecionarPorParametros(nota.idempresaevocenter, nota.idmaster, AplicativoModel.en_aplicativo.Manifestacao.ToInt()); if (certificadodigitalkeevo == null) return false; Console.WriteLine($"Método ManifestarNota - Leu certificado: {certificadodigitalkeevo.datavalidade}"); //string caminhoCompleto = Path.Combine(Path.GetTempPath(), certificadodigitalkeevo.idcertificado.ToString() + ".pfx"); try { Console.WriteLine("Método ManifestarNota - Início config acbr"); ACBrNFe = new(); Console.WriteLine("Método ManifestarNota - Instanciou acbr"); ConfigurarCertificado(ACBrNFe, certificadodigitalkeevo); Console.WriteLine("Método ManifestarNota - Configurou certificado acbr"); } catch { return false; } O problema é o seguinte: Fui colocando log no monitor e para printar na AWS, e ocorre o seguinte erro quando passo nessa parte: ACBrNFe = new(); O erro é: 03 de setembro de 2024 às 16:36 (UTC-3:00) start.sh: line 7: 8 Segmentation fault (core dumped) dotnet Api.Dfe.dll bcdc131931024db48b613901b8f7788a dfe-api-prod 03 de setembro de 2024 às 16:36 (UTC-3:00) (dotnet:8): GLib-GObject-WARNING **: 19:36:05.505: cannot register existing type 'GdkWindow' bcdc131931024db48b613901b8f7788a dfe-api-prod 03 de setembro de 2024 às 16:36 (UTC-3:00) (dotnet:8): GLib-GObject-CRITICAL **: 19:36:05.505: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed bcdc131931024db48b613901b8f7788a dfe-api-prod 03 de setembro de 2024 às 16:36 (UTC-3:00) (dotnet:8): GLib-GObject-WARNING **: 19:36:05.505: cannot register existing type 'GdkWindowImpl' bcdc131931024db48b613901b8f7788a dfe-api-prod 03 de setembro de 2024 às 16:36 (UTC-3:00) (dotnet:8): GLib-GObject-CRITICAL **: 19:36:05.505: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed bcdc131931024db48b613901b8f7788a dfe-api-prod 03 de setembro de 2024 às 16:36 (UTC-3:00) (dotnet:8): GLib-GObject-CRITICAL **: 19:36:05.505: g_type_add_interface_static: assertion 'g_type_parent (interface_type) == G_TYPE_INTERFACE' failed Por favor, conseguem me ajudar ?
  7. Boa tarde, então, vou te passar minha classe de serviço, como está configurada. Se puder me ajudar... Enviei 2 trechos de código pra ver se me ajuda. O primeiro é minha classe de serviço de config do Acbr. O segundo, toda vez que eu processo uma empresa na captura de cte, eu instancio essa classe. 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.Utils.Conversao; using Keevo.Pacotes.Infra.Utils.Criptografia; using Keevo.Pacotes.Infra.Utils.Diretorio; using Keevocenter.Pacotes.Infra.IntegracaoApi.Models.Certificado; namespace Dfe.Monitor.CapturaCte.Servicos { public class AcbrCTeServico : IDisposable { public ACBrCTe acbrcte { get; set; } public EmpresaParametrosCteSelecaoModel empresacte { get; set; } public CertificadoPorParametrosModel certificadodigitalkeevo { get; set; } public AcbrCTeServico(EmpresaParametrosCteSelecaoModel empresacte, CertificadoPorParametrosModel certificadodigitalkeevo) { acbrcte = new(); this.empresacte = empresacte; this.certificadodigitalkeevo = certificadodigitalkeevo; ConfigurarCertificado(acbrcte, certificadodigitalkeevo); } 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); public void ConfigurarCertificado() { ConfigurarCertificado(acbrcte, certificadodigitalkeevo); } public static void ConfigurarCertificado(ACBrCTe acbrCTe, CertificadoPorParametrosModel 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 = KeevoCrypto.Decrypt(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"; //Configurações para logs //#if (DEBUG) acbrCTe.Config.Principal.LogNivel = Keevo.Pacotes.Infra.ACBrLib.Core.NivelLog.logParanoico; acbrCTe.Config.Principal.LogPath = KeevoDiretorio.AppPath(); acbrCTe.ConfigGravar(); //#endif } 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(); } } } Toda vez que eu processo uma empresa, eu instancio essa classe, conforme código abaixo: public async Task ProcessarEmpresa(EmpresaParametrosCteSelecaoModel empresacteselecaomodel, SemaphoreSlim semaphoreempresa) { AcbrCTeServico? acbrcteservico = null; try { if (empresacteselecaomodel.datahoraultimaconsulta.AddHours(1).AddMinutes(1) > DateTime.Now.ToSATimeZone()) { _logger.LogInformation($"[MONITOR_CAPTURA_CTE][{DateTime.UtcNow:yyyy-MM-dd HH:mm:ss}] A empresa está em no tempo de 1 hora de espera"); return; } CertificadoPorParametrosModel certificadodigitalkeevo = await _kcenterworkscertificadoservico.SelecionarPorParametros ( empresacteselecaomodel.idempresaevocenter, empresacteselecaomodel.idmaster, AplicativoModel.en_aplicativo.Manifestacao.ToInt() ); if (!ValidacaoCertificado(certificadodigitalkeevo, empresacteselecaomodel)) return; else { _logger.LogInformation($"[MONITOR_CAPTURA_CTE][{DateTime.UtcNow:yyyy-MM-dd HH:mm:ss}] Iniciando processamento da empresa [{empresacteselecaomodel.idmaster}] - CNPJ: {empresacteselecaomodel.cnpj}, Razão Social: {empresacteselecaomodel.razaosocial}"); acbrcteservico = new AcbrCTeServico(empresacteselecaomodel, certificadodigitalkeevo); long ultimoNSUretornado = 0; long maxNSUretornado = 0; do { long ultimoNsuConsulta = Convert.ToInt64(empresacteselecaomodel.ultimonsu); var resposta = acbrcteservico.DistribuicaoDFe(); _logger.LogInformation($"[{DateTime.Now}][MONITOR_CAPTURA_CTE][{DateTime.UtcNow:yyyy-MM-dd HH:mm:ss}] Resultado da busca para empresa [{empresacteselecaomodel.cnpj}:{empresacteselecaomodel.razaosocial}] | CStat: {resposta.CStat} - XMotivo: {resposta.XMotivo}"); if (resposta.CStat.Equals(DOCUMENTO_ENCONTRADO)) //DOCUMENDO ENCONTRADO 138 await ProcessarRespostaDistribuicaoDFe(resposta, empresacteselecaomodel); else if (resposta.CStat.Equals(CONSUMO_INDEVIDO) || resposta.CStat.Equals(CNPJ_DIGITAL)) //CONSUMO INDEVIDO = 656//CNPJ_DIGITAL = 593 return; ultimoNSUretornado = Convert.ToInt64(resposta.ultNSU); maxNSUretornado = Convert.ToInt64(resposta.maxNSU); _logger.LogInformation($"[MONITOR_CAPTURA_CTE][{DateTime.UtcNow:yyyy-MM-dd HH:mm:ss}] Salvando novas informacoes da empresa [{empresacteselecaomodel.idmaster}] - CNPJ: {empresacteselecaomodel.cnpj}, Razão Social: {empresacteselecaomodel.razaosocial} ------- UltimoNSUEmpresa: {empresacteselecaomodel.ultimonsu} - MaxNSUSefaz: {resposta.maxNSU}/ultimoNSUSefaz:{resposta.ultNSU}"); await SalvarConfiguracaoParametrosEmpresaCte(empresacteselecaomodel, resposta.ultNSU); _logger.LogInformation($"[MONITOR_CAPTURA_CTE][{DateTime.UtcNow:yyyy-MM-dd HH:mm:ss}] INFORMAÇÕES SALVAS [{empresacteselecaomodel.idmaster}] - CNPJ: {empresacteselecaomodel.cnpj}, Razão Social: {empresacteselecaomodel.razaosocial}"); if (ultimoNsuConsulta == maxNSUretornado) break; } while (ultimoNSUretornado <= maxNSUretornado); } } catch (Exception ex) { LogarException(ex, "ProcessarEmpresa"); } finally { //acbrcteservico?.Dispose(); try { semaphoreempresa.Release(); } catch (Exception e) { LogarException(e); } } } Se precisar de alguma outra informação, estou a disposição.
  8. Prezados, bom dia ! Preciso de um apoio. Tenho um serviço que roda em um container docker, e ao verificar o log de execução, encontrei o seguinte problema: Sessão não [%s] existe no arquivo de configuração Segue detalhes do erro. info: Dfe.Monitor.CapturaCte.Workers.CapturaCte.CapturaCteWorker[0] [MONITOR_CAPTURA_CTE][2024-08-28 11:02:33] Iniciando processamento da empresa [10194] - CNPJ: 53266121000146, Razão Social: AC TREINAMENTOS LTDA fail: Dfe.Monitor.CapturaCte.Workers.CapturaCte.CapturaCteWorker[0] [08/28/2024 11:02:33][MONITOR_CAPTURA_CTE][2024-08-28 11:02:33] Erro 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 Keevo.Pacotes.Infra.ACBrLib.CTe.ACBrCTe.ConfigGravarValor(ACBrSessao eSessao, String eChave, Object value) at Keevo.Pacotes.Infra.ACBrLib.Core.Config.ACBrLibConfigBase`1.SetProperty[TProp](TProp newValue, String propertyName) at Keevo.Pacotes.Infra.ACBrLib.Core.Config.DFeConfig`1.set_SSLCryptLib(SSLCryptLib value) at Dfe.Monitor.CapturaCte.Servicos.AcbrCTeServico.ConfigurarCertificado(ACBrCTe acbrCTe, CertificadoPorParametrosModel certificadodigitalkeevo) in /src/Servicos/AcbrCTeServico.cs:line 53 at Dfe.Monitor.CapturaCte.Servicos.AcbrCTeServico..ctor(EmpresaParametrosCteSelecaoModel empresacte, CertificadoPorParametrosModel certificadodigitalkeevo) in /src/Servicos/AcbrCTeServico.cs:line 24 at Dfe.Monitor.CapturaCte.Workers.CapturaCte.CapturaCteWorker.ProcessarEmpresa(EmpresaParametrosCteSelecaoModel empresacteselecaomodel, SemaphoreSlim semaphoreempresa) in /src/Workers/CapturaCte/CapturaCteWorker.cs:line 195 info: Dfe.Monitor.CapturaCte.Workers.CapturaCte.CapturaCteWorker[0] [MONITOR_CAPTURA_CTE][2024-08-28 11:02:30] Iniciando processamento da empresa [10194] - CNPJ: 41125573000129, Razão Social: ESCUTART APARELHOS AUDITIVOS LTDA fail: Dfe.Monitor.CapturaCte.Workers.CapturaCte.CapturaCteWorker[0] [08/28/2024 11:02:30][MONITOR_CAPTURA_CTE][2024-08-28 11:02:30] Erro 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 Keevo.Pacotes.Infra.ACBrLib.CTe.ACBrCTe.ConfigGravarValor(ACBrSessao eSessao, String eChave, Object value) at Keevo.Pacotes.Infra.ACBrLib.Core.Config.ACBrLibConfigBase`1.SetProperty[TProp](TProp newValue, String propertyName) at Keevo.Pacotes.Infra.ACBrLib.Core.Config.DFeConfig`1.set_SSLCryptLib(SSLCryptLib value) at Dfe.Monitor.CapturaCte.Servicos.AcbrCTeServico.ConfigurarCertificado(ACBrCTe acbrCTe, CertificadoPorParametrosModel certificadodigitalkeevo) in /src/Servicos/AcbrCTeServico.cs:line 53 at Dfe.Monitor.CapturaCte.Servicos.AcbrCTeServico..ctor(EmpresaParametrosCteSelecaoModel empresacte, CertificadoPorParametrosModel certificadodigitalkeevo) in /src/Servicos/AcbrCTeServico.cs:line 24 at Dfe.Monitor.CapturaCte.Workers.CapturaCte.CapturaCteWorker.ProcessarEmpresa(EmpresaParametrosCteSelecaoModel empresacteselecaomodel, SemaphoreSlim semaphoreempresa) in /src/Workers/CapturaCte/CapturaCteWorker.cs:line 195 Ao inserir o log paranóico no fórum, ocorre o seguinte erro: Houve um problema no processamento do arquivo enviado. -200 Desde já agradeço.
  9. Obrigado pelo retorno, mas era um problema na minha aplicação, onde eu estava passando a senha do certificado criptografada.
  10. Prezados, boa tarde. tenho dois serviços rodando, tanto serviço de cte quanto nfe, e quando eu chamo o distribuicaodfe da o seguinte erro: var resposta = acbrcteservico.DistribuicaoDFe(); System.ApplicationException: 'WebService Distribuição de DFe: - Inativo ou Inoperante tente novamente. PFXDataToCertContextWinApi: Senha informada está errada MotivoRetornadoDoWebService: ""' TRECHO DO CÓDIGO FONTE: CertificadoPorParametrosModel certificadodigitalkeevo = await _kcenterworkscertificadoservico.SelecionarPorParametros ( empresanfeselecaomodel.idempresaevocenter, empresanfeselecaomodel.idmaster, AplicativoModel.en_aplicativo.Manifestacao.ToInt() ); acbrservico = new(empresanfeselecaomodel, certificadodigitalkeevo); var processarDocumentoServico = new ProcessarDocumentoServico(baseworker, _logger); -------NESSA LINHA OCORRE O PROBLEMA var retorno = acbrservico.DistribuicaoDFe(); -------MÉTODO QUE OCORRE O ERRO public DistribuicaoDFeResposta<TipoEventoNFe> DistribuicaoDFe() => acbrnfe.DistribuicaoDFe ( empresanfe.codigonfe.ToInt(), empresanfe.cnpj, empresanfe.ultimonsu ?? ("0").PadLeft(15, '0'), "" ); public DistribuicaoDFeResposta<TipoEventoNFe> DistribuicaoDFe(int acUFAutor, string eCnpjcpf, string eultNsu, string ArquivoOuXml) { int bufferLen = 256; StringBuilder buffer = new StringBuilder(bufferLen); NFE_DistribuicaoDFe method = GetMethod<NFE_DistribuicaoDFe>(); int ret = ExecuteMethod(() => method(libHandle, acUFAutor, ACBrLibHandle.ToUTF8(eCnpjcpf), ACBrLibHandle.ToUTF8(eultNsu), ACBrLibHandle.ToUTF8(ArquivoOuXml), buffer, ref bufferLen)); CheckResult(ret); return DistribuicaoDFeResposta<TipoEventoNFe>.LerResposta(ProcessResult(buffer, bufferLen)); } Conseguem me ajudar por favor ?
  11. A princípio deu certo, irei continuar acompanhando. De qualquer forma, obrigado.
  12. TimeB256

    Erro de Sessão[%]

    Boa tarde! A um tempo atras a equipe registrou um forum com uma duvida sobre o erro em anexo. Foi re comendado configurar os logs da biblioteca da ACBR para acompanhar o erro de uma forma melhor, após a configuração do log o erro em questão parou de aparecer sendo que não houve mudanças na estrutra do codigo fonte, os logs da acbr podem ter tido influencia nesse caso? message (1).txt
  13. Poderia passar desta forma? ACBrNFe.Config.DFe.TimeZoneModo = TimezoneMode.tzManual; ACBrNFe.Config.DFe.TimeZoneStr = "-03:00";
  14. @Renato RubinhoBom dia! Como vai ? Para o TimeZone.Modo, qual dos valores abaixo você recomendaria, para que o horário para manifestação seja sempre correto? tzSistema tzPCN, tzManual
×
×
  • 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.