Ir para conteúdo
  • Cadastre-se

dev botao

API C# test componente OpenSuse e Ubuntu


Ver Solução Respondido por Daniel InfoCotidiano,
  • Este tópico foi criado há 584 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

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.

  • Consultores
Postado
Citar

 

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:

 

Bom dia.

Nesse caso, seu projeto está compilando, mas você está tendo um erro no retorno certo? Por favor, é possível verificar se foi gerado o log da Lib? Caso afirmativo, pode disponibilizar o mesmo para análise?
Caso julgue que tenha informações sensíveis, pode seguir as orientações deste tópico para nos enviar o log

 

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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 !!

Postado

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
  }
}

 

  • Consultores
Postado
13 minutos atrás, LogProgramador disse:
Não foi possivel carregar a biblioteca

o arquivo da lib ( libacbrnfe64.so ) existe no caminho indicado.?
se a aplicação é multithread, esta pegando os arquivos da pasta MT/Linux  ?

 

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

Postado

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

 

 

  • Moderadores
Postado
5 minutos atrás, LogProgramador disse:

Fiz conforme a orientação do manual do componente

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

 

 

A questão do servidor X11 parece que não está rodando em backgroud pra que ele possa usa

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado
4 minutos atrás, Juliomar Marchetti disse:

A questão do servidor X11 parece que não está rodando em backgroud pra que ele possa usa

Ah entendi. Mas é x11 ou xvfb? Ou é a mesma coisa?

  • Consultores
  • Solution
Postado

@LogProgramador bom dia !
Resumo o Xvfb executa todas as operações gráficas na memória virtual sem exibir a saída na tela.
https://pt.frwiki.wiki/wiki/Xvfb

Encontrei este vídeo, mas acredito que o correto é você solicitar p sua equipe de infra LInux verificar estas pendências.

 

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

Postado

Boa tarde

O pessoal me passaram o seguinte, eles conseguiram instalar o xvfb, mas não acharam nenhum 'run' para executar este protocolo.

Ele está instalado e a situação ainda persiste.

Vocês tem mais informações de como configurar ele, o que precisa fazer para que ele funcione?

 

  • Moderadores
Postado
1 hora atrás, LogProgramador disse:

Boa tarde

O pessoal me passaram o seguinte, eles conseguiram instalar o xvfb, mas não acharam nenhum 'run' para executar este protocolo.

Ele está instalado e a situação ainda persiste.

Vocês tem mais informações de como configurar ele, o que precisa fazer para que ele funcione?

 

Quais as msgs e logs seja do linux quanto da lib?

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado
Em 06/04/2023 at 09:08, LogProgramador disse:

image.png.c8e355eddb18ec270117f5f871371c82.png

Dá esse retorno no log da aplicação no open suse. Lembrando que estou usando a aplicação de demo neste caso.

Onde vejo os logs do Linux que precisa?

Postado
36 minutos atrás, Juliomar Marchetti disse:

agora confere se ele está rodando em backgroud pois ele tem que estar levantado para ser usado.

Mas como faz isso? É esse o ponto, não sabemos como levantar ele.

Me passaram que quando ele foi instalado, não achou nenhum 'run' para ele.

  • Consultores
Postado
1 hora atrás, LogProgramador disse:

Mas como faz isso? É esse o ponto, não sabemos como levantar ele.

Me passaram que quando ele foi instalado, não achou nenhum 'run' para ele.

Localizei esse link : https://wiki.archlinux.org/title/Xorg_(Português)#Xorg_sem_root
veja o item 7.8 tem um comando para ver se está executando, mas a página toda dá uma boa visão geral do "X".

 

Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

Postado

Ainda estou tentando ver como executar esse protocolo.

Eu percebi aqui em uns testes que os logs que deveriam ser apresentados no console não estavam sendo e com isso vi que a rota não estava nem sendo executada.

Coloquei alguns logs diferentes na estrutura do ACBr e notei que o problema mencionado cannot open display está ocorrendo na classe ACBrLibHandle precisamente na linha 

IntPtr pNewSession = LibLoader.LoadLibrary(dllName);

 

Erro

image.png.01416af6b752544671094a6192736bbf.png

 

Código

image.thumb.png.cc9d990e0e3a1f2541e6ab02d37a4fc6.png

Foi apresentando o erro, mas não entrou no catch.

A libacbrnfe64.so se encontro em /usr/lib e lib64

Estou somente reportanto mesmo, de repente pode ajudar.

×
×
  • 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.