Ir para conteúdo
  • Cadastre-se

LogProgramador

Membros
  • Total de ítens

    79
  • Registro em

  • Última visita

Posts postados por LogProgramador

  1. Olá, 

    estou implementando o envio de NFCe numa API em C#, eu havia deixado configurado o retorno em frmJson.

    Notei que após fazer o envio da nota, o objeto de retorno do tipo EnvioRetornoResposta não estava sendo populado corretamente.
    Debuguei e notei que no EnvioRetornoResposta.LerResposta ele não está tratando paro o tipo json.

     

    Percebi porque no demo do PDV há um tratamento após o envio e no meu caso não estava sendo possível porque a prop não estava preenchida corretamente;

    if (envioRet.Envio.CStat != 100) return ret;

     

    Eu uso o ACBR em [memory], configurei para o fmtINI e deu tudo certo, acredito que funcione normalmente, apenas estou relatando essa inconsistência.

    • Obrigado 1
  2. Fiz conforme a orientação do manual do componente

    Citar

    Como “root”, copie o arquivo .SO para a pasta /usr/lib ou /usr/lib64 (conforme o caso)

    Copie o arquivo para as 2 pastas.

    ---

    Eu peguei o demo que disponibilizaram e removi a parte de boleto, atualizei para dotnet 6.0 e copiei o projeto para a vm suse e linux.

    Fiz o processo de build normal, dotnet restore → dotnet build → dotnet publish

    Após isso nos arquivos gerado do comando publish executei a dll  → dotnet ACBr.API.dll

    A estrutura da pasta em ambas vms está da seguinte forma:

    image.thumb.png.b7f7cdb0c93eae17372604fddfd101f1.png

    Dentro ACBrLib

    image.png.00c7486cee248581def71d11101624ab.png

    O arquivo .so foi copiado para ambas pastas conforme indicado no manual.

    1º Teste

    Ao executar o teste no opensuse eu recebi o seguinte retorno

    image.png.c8e355eddb18ec270117f5f871371c82.png

    Aparentemente não está instalado o pacote de display corretamente, mas conforme relatei aqui o administrador da infra disse que estava. Ou será outra coisa?

    Ao executar o teste no ubuntu eu recebi o seguinte retorno: Não foi possivel carregar a biblioteca

     

    2º Teste

    Copiei a libacbrnfe64.so para a pasta da dll onde executo o comando dotnet ACBr.API.dll

    Recebi os mesmos erros.

     

    No Suse por algum motivo carrega a dll, no ubuntu não.

    ---

    Versão openssl

    Ubuntu: image.png.23334d9ecb690e255a1c5894cf8a8c0a.png

    Suse: image.png.96252af00b3b01178432aa82eb7d45e9.png

     

     

  3. Exato, é no retorno. 
    Não foi gerado log.

    Eu não sei o porque que no open suse vem desta forma, mas no linux o retorno é que a biblioteca não foi encontrada

    Retorno no linux (vm na amazon s3)

     

    {
      "message": "Ocorreu um erro interno do servidor, tente mais tarde ou entre em contato com o administrador do sistema.",
      "messageCode": "ME0500",
      "exception": {
        "ClassName": "System.ApplicationException",
        "Message": "Não foi possivel carregar a biblioteca.",
        "Data": {},
        "InnerException": null,
        "HelpURL": null,
        "StackTraceString": "   at ACBrLib.Core.ACBrLibHandle..ctor(String dllName) in /home/runner/work/Domynus-web-backend/Domynus-web-backend/src/LogSistemas.Domynus.External/ACBr/Shared/ACBrLib.Core/ACBrLibHandle.cs:line 53\n   
    at ACBrLib.Core.ACBrLibHandle..ctor(String dllName64, String dllName32) in /home/runner/work/Domynus-web-backend/Domynus-web-backend/src/LogSistemas.Domynus.External/ACBr/Shared/ACBrLib.Core/ACBrLibHandle.cs:line 38\n   
    at ACBrLib.NFe.ACBrNFe..ctor(String eArqConfig, String eChaveCrypt) in /home/runner/work/Domynus-web-backend/Domynus-web-backend/src/LogSistemas.Domynus.External/ACBr/NFe/Imports/Dinamico/MT/ACBrNFe.cs:line 15\n   
    at LogSistemas.Domynus.Service.Fiscal.ACBr.IoCBootstrapper.<>c.<RegisterACBrProjectDependencies>b__0_0(IServiceProvider s) in /home/runner/work/Domynus-web-backend/Domynus-web-backend/src/LogSistemas.Domynus.Service.Fiscal.ACBr/IoCBootstrapper.cs:line 13\n   
    at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite factoryCallSite, RuntimeResolverContext context)\n   
    at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)\n   
    at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)\n   
    at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context)\n   
    at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)\n   
    at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)\n   
    at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass2_0.<RealizeService>b__0(ServiceProviderEngineScope scope)\n   
    at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope)\n   
    at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.GetService(IServiceProvider sp, Type type, Type requiredBy, Boolean isDefaultParameterRequired)\n   
    at lambda_method7061(Closure , IServiceProvider , Object[] )\n   
    at Microsoft.AspNetCore.Mvc.Controllers.ControllerFactoryProvider.<>c__DisplayClass6_0.<CreateControllerFactory>g__CreateController|0(ControllerContext controllerContext)\n   
    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\n   
    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\n--- End of stack trace from previous location ---\n   
    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\n   
    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)\n   
    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\n   
    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()\n--- End of stack trace from previous location ---\n   
    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)\n   
    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)\n   
    at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)\n   
    at LogSistemas.Domynus.Api.Middleware.DefaultInfoLoggingMiddleware.Invoke(HttpContext context) in /home/runner/work/Domynus-web-backend/Domynus-web-backend/src/LogSistemas.Domynus.Api/Middleware/DefaultInfoLoggingMiddleware.cs:line 27\n   
    at LogSistemas.Domynus.Api.Middleware.ExceptionHandlingMiddleware.InvokeAsync(HttpContext context) in /home/runner/work/Domynus-web-backend/Domynus-web-backend/src/LogSistemas.Domynus.Api/Middleware/ExceptionHandlingMiddleware.cs:line 59",",
        "RemoteStackTraceString": null,
        "RemoteStackIndex": 0,
        "ExceptionMethod": null,
        "HResult": -2146232832,
        "Source": "ACBrLib.Core",
        "WatsonBuckets": null
      }
    }

     

  4. Olá,

    Foi verificado no servidor a instalação do pacote xvfb e o mesmo já se encontrava instalado.

    image.thumb.jpeg.fc90f0c6cb8f495d86916ec2539e13c8.jpeg

     

    Eu fiz um teste, peguei o demo de API disponibilizado e diz uma modificação, ao invés de fazer upload do xml na rota, eu coloquei fixo o xml numa string e carreguei para imprimir.
    Na máquina windows foi corretamente.

    Na máquina linux suse ocorre o seguinte erro ao chamar a rota:

    image.thumb.png.edcd1fb9453c17cba4af089d14327a51.png

    É o mesmo retorno que estou tendo na minha API.

  5. Oi, estamos estudando as possibilidade de TEF na nossa aplicação web.

    Eu não vi no manual do acbrlib um módulo de tef. 

    Eu vi nestes tópicos https://youtu.be/V9EeW_XueTI?t=223 / https://www.projetoacbr.com.br/forum/topic/69136-sefaz-do-rs-pode-obrigar-tef-integrado-a-aplicação/#comment-461887 sobre colocar a aplicaçao no smart pos, um app android.

    Essa seria a única forma de se fazer ou tem alguma outra possível para este meu cenário web?

    obrigado

     

     

  6. Eu estou conversando com o administrador dos servidores verificando se a GUI está levantada.

    1 minuto atrás, Daniel InfoCotidiano disse:

    Não uso suse, nao tem ai uma vm ubuntu p testar?

    Tenho sim. Mas não tem interface gráfica também, é uma vm na amazon, free tier

    Se essa máquina na amzon não servir eu vou providenciar amanhã uma máquina com ubuntu instalado aqui na empresa, com interface gráfica

    • Curtir 1
  7. Em 25/03/2023 at 12:16, Juliomar Marchetti disse:

    tu postou um link de uma palestra que fala usando Lazarus para linux então só se programar nele que não ´e seu caso então esquece.

     

    Eu postei este link porque ele está no manual do componente ACBrLibNFe-0.4.6.227. 
    O link do manual me levou até esse vídeo.

     

    Eu não sei o que é Linux Chuto e nem X11. Não estou usando docker.

     

    Fora esse ponto do visual, eu copiei o arquivo .so da minha pasta ACBRLib para /usr/lib64, tem algo a mais para ser feito?

    Ainda estou um pouco perdido. O erro no uibuntu diz que não foi possível carregar as bibliotecas e no opensuse eu não entendi o retorno.

  8. 14 minutos atrás, Juliomar Marchetti disse:

    tu está usando C# então é a lib

    Você quer dizer que é para jogar em /usr/lib?

    14 minutos atrás, Juliomar Marchetti disse:

    as demais coisas que vir terá que programar sua API seja em Lazarus ou Delphi.

    Não entendi isso, como assim algumas coisas eu precisarei programar em Lazarus ou Delphi? O ACBrLib não é para outras linguagens?

     

    15 minutos atrás, Juliomar Marchetti disse:

    sobre a questão da API a lib depende de um GUI. no caso um desktop

     

    Precisa ser um servidor linux com visual?

    Só estou tendo essa informação agora.

     

    15 minutos atrás, Juliomar Marchetti disse:

    chegou a pegar um possível código de exemplo que temos de API e rodar ele?

    Eu rodei o exemplo no windows, no servidor não fiz. Mas não resolveria também, porque a minha API executa corretamente no windows.

  9. Estou fazendo uns testes com o componente. Tenho uma rota onde gera uma NFCe em homologação com dados fixos.

    Configurei na minha máquina windows as dlls Cdecl MT na pasta ACBRLib, dá tudo certo.


    No servidores de teste e produção, a minha aplicação é executada pela dll, da seguinte forma:

    dotnet aplicação.ddl


    Num servidor de teste ubuntu, no local onde fica essa dll fica a pasta AcbrLib, da mesmo forma que no ambiente de desenvolvimento, porém ao testar recebo erro: Não foi possivel carregar a biblioteca.

    Num servidor de teste opensuse, está configurado da mesma forma que o ubuntu, quando faço o mesmo erro eu recebo uma respostas mais estranha: (52) Empty reply from server

    Ambos testes foram realizados com curl no servidor:

    curl -i -X 'POST'  'http://localhost:5011/api/NFCe?number=50013' -H 'accept: application/json'  -H 'Content-Type: application/json'

     

    Eu vi que precisa fazer umas configurações a mais no linux na hora de distribuir.

    Li o PDF do componente de nota fiscal e

    • Copiei o arquivo .so da minha pasta ACBRLib para /usr/lib64

    Li  o PDF dessa apresentação para linux

    • Pelo que vi somente precisaria executar as etapas após toda a instalação do lazarus e acbr
    • Fique confuso quanto a etapa de Resolução de dependências para ACBrDFe
      • Nela é dito que o Lazarus ficará depende das libs
      • Por isso me pareceu que era algo que eu não precisaria
      • Se precisar, como instalo essas dlls? Não tenha interface gráfica
    • Executei as etapas do Criando links simbólicos para o nome das bibliotecas
      • Ao executar o comando para verificar se estava certo os links tive o seguinte retorno
      • lrwxrwxrwx 1 root root 15 Mar 23 20:24 /lib64/libssl.so -> libssl.so.1.0.0

    Fiz tudo isso na máquina ubuntu e ainda assim recebei o mesmo retorno.

    Fiz tudo iso também na open suse e quando fui conferir os links simbólicos tive um retorno um pouco diferente do ubuntu

    lrwxrwxrwx 1 root root     15 mar 23 17:52 /lib64/libssl.so -> libssl.so.1.0.0
    -r-xr-xr-x 1 root root 428208 jan 28 22:33 /lib64/libssl.so.1.0.0

    Mas ainda assim eu obtive o mesmo retorno ao testar a rota.

    Não sei se faltou eu instalar essas dlls da etapa Resolução de dependências para ACBrDFe, se sim, tem algum tutorial?

     

    obrigado

×
×
  • 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...
The popup will be closed in 10 segundos...