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á 369 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

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.

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

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

 

Link para o comentário
Compartilhar em outros sites

  • Consultores
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

Link para o comentário
Compartilhar em outros sites

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

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
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_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores
53 minutos atrás, LogProgramador disse:

Executei os comandos do vídeo mas a versão permaneceu a mesma.

 

image.thumb.png.bae737b318120e5c89024d8a51dda704.png

Se puder testar, pode te ajudar:
https://askubuntu.com/questions/1403837/how-do-i-use-openssl-1-1-1-in-ubuntu-22-04

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

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

@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

Link para o comentário
Compartilhar em outros sites

  • Moderadores
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_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
Em 19/04/2023 at 11:03, LogProgramador disse:

O pacote instalado, mas ainda com o mesmo retorno.

IMG-20230418-WA0009.jpg

IMG-20230418-WA0010.jpg

 

 

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

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

Link para o comentário
Compartilhar em outros sites

  • Consultores
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

 

 

Link para o comentário
Compartilhar em outros sites

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.

Link para o comentário
Compartilhar em outros sites

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