Jump to content

dev botao

Problema com a LibNFSe em LINUX


Go to solution Solved by Ricardo Isono,
  • Este tópico foi criado há 305 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Posted

Estou com uma dificuldade em funcionamento da minha aplicação pra geração de NFS-e com a NFSeLib em servidor Linux, Debian 11 (bullseyes)

desenvolvi em JAVA
testei a API toda em Windows e funciona tudo certo, mas quando passo pra Linux ele chega no método, e simplesmente não gera,
ele carrega o INI de envio com o método 

acbrNFSe.carregarIni()
 

Porém, ao utilizar o método 

acbrNFSe.emitir()

ele me rotorna "XMLNode não pode ser nulo!" e não gera log nível 4 nem nada, e também não me gera erro no console!

em WINDOWS funciona e no LINUX não, alguém saberia o que pode estar acontecendo?

ACBrLib.ini NFSe22_1.ini

  • Consultores
Posted

Boa tarde!

Além da LibNFSe, também é necessário a OpenSSL e a LibXML para o correto funcionamento.

Quando você faz o download é distribuído as dlls na pasta de dependência para uso no Windows.

Para Linux, você precisa fazer o processo equivalente para instalar ambas.

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

  • Consultores
Posted
14 minutos atrás, Ricardo Isono disse:


porém, você quer dizer que precisa de arquivos ".so" referente aos mesmos?

os arquivos .so são versao da acbrlibnfse para linux.
entao acbrlibNFse.dll é windows e AcbrlibNFse.so é para linux

chegou a ver estas particularidades de distribuição para linux
https://acbr.sourceforge.io/ACBrLib/ComoInstalarDistribuir.html

  • Like 1
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

  • Membros Pro
Posted

eu não havia dado uma olhada, mas eu havia instalado todos esses componentes, pois achei alguns problemas e acabei achando aqui no forúm,
rodei o procedimento do manual agora, e entrou no Xauthority, e eu não sei o que informar a seguir, fora isso tenho reparado que o Gtk, não está permitindo a API continuar quando tenta ativar a Lib, eu encontrei alguns comando aqui no forum a respeito, e rodei o "export DISPLAY", porém vira e mexe ele acaba voltando esse problema e eu sempre tenho que ficar rodando novamente, o que eu posso fazer pra acertar?

  • Membros Pro
Posted

como eu disse, eu estou usando Debian 11 (bullseye), ja conferi e todas as dependencias estão instaladas, e mesmo assim ainda tenho um log de tomcat "gtK-Warning cannot open display" e então nada mais funciona, quando não da esse erro, ele vai até o carregamento do arquivo ini de NFSe, carrega mas não gera o xml e me retorna "XMLNode não pode ser nulo"

 

  • Consultores
Posted

tem permissão de leitura e escrita na pasta ?
e tbm na pasta onde será criado o log?
/opt/tomcat/bin/DocsNFSe/21845778000171/Logs/

neste servidor tem ambiente gráfico ?
para efeito de teste, tentou executar como root ?
 

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

  • Membros Pro
Posted

Bom dia Ricardo,


Se me permite, tenho um docker em linux, no qual tive várias adaptações para rodar o ACBRLIBNFSe.

Caso possa ajudar, segue meu arquivo DockerFIle com os comandos que executo, e o arquivo ACBRNFSe que importa o arquivo ".so"

Também, já tem a tratativa para funcionar o PDF (impressão).

Dockerfile ACBrNFSe.java

  • Like 4
  • Membros Pro
Posted
4 horas atrás, LeonardoRocha disse:

Bom dia Ricardo,


Se me permite, tenho um docker em linux, no qual tive várias adaptações para rodar o ACBRLIBNFSe.

Caso possa ajudar, segue meu arquivo DockerFIle com os comandos que executo, e o arquivo ACBRNFSe que importa o arquivo ".so"

Também, já tem a tratativa para funcionar o PDF (impressão).

Dockerfile 1.5 kB · 2 downloads ACBrNFSe.java 31.2 kB · 0 downloads

eu refiz meu servidor, para conferir passo a passo e ver se eu não esqueci de nada,

eu estou utilizando Debian 11,

não estou utilizando docker,

instalei dependência por dependência manualmente, seguindo o manual citado acima,

adicionei a libacbr64.so na pasta /usr/lib64

utilizo o tomcat10 para servir minha api

estou executando pelo root, inclusive é o unico usuário do server

o servidor não possui suporte gráfico


eu adicionei alguns logs de console para ver até onde a api está chegando, ela da problema no método "acbrNFSe.configGravarValor()" pois eu faço algumas configurações a partir do código na API, o estranho é que o meu "exception.getMessage()" me retorna "5" e mais nada, imaginei que poderia ser alguma restrição no diretório onde eu crio o ini de configuração, por desencargo atribui permissão máxima e nada mudou, alguma ideia?

obs,: a mesma API em windows funciona perfeitamente!

  • Membros Pro
Posted
50 minutos atrás, Renato Rubinho disse:

Boa tarde,

Se não possui interface gráfica, precisa de um emulador.

Veja o tópico a seguir.

 

 

mas não acusou problema com o gtk ou o Xvfb ele está carregando a minha variável "private ACBrNFSe acbrNFSe;" que era onde acusava o Warning como no exemplo

não é esse o problema

  • Consultores
Posted

Só lembrando se não existe modo gráfico e não for executado em modo virtualizado Xvfb, vai dar erro, pois tem dependências gráficas a serem emuladas.
a acbrlibnfse.so vc salvou em /lib64 ?
no seu acbrlib.ini , no path ele nao chega gerar o log? mesmo executando como administrador?
consegue gerar um exemplo basico q eu consiga testar em meu ambiente?



 

  • Like 2
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

  • Membros Pro
Posted
Em 01/03/2024 at 17:54, Daniel InfoCotidiano disse:

Só lembrando se não existe modo gráfico e não for executado em modo virtualizado Xvfb, vai dar erro, pois tem dependências gráficas a serem emuladas.
a acbrlibnfse.so vc salvou em /lib64 ?
no seu acbrlib.ini , no path ele nao chega gerar o log? mesmo executando como administrador?
consegue gerar um exemplo basico q eu consiga testar em meu ambiente?



 

não, ele não gera nenhum log do componente, da lib no caso.

configurei um ambiente linux para poder fazer o Debug, me gerou um log de erro do java, ao tentar iniciar a lib, segue anexo

hs_err_pid16287.log

  • Consultores
Posted
5 minutos atrás, Ricardo Isono disse:

configurei um ambiente linux para poder fazer o Debug, me gerou um log de erro do java, ao tentar iniciar a lib, segue anexo

Este novo ambiente que vc criou , tem ambiente gráfico?
caso positivo, pode por favor testar com este exemplo http://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/Java/NFSe/
 

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

  • Consultores
Posted

@Ricardo Isono
Acabei de compilar a lib e está funcionando em meu ambiente.
O que tenho instalado: (só que eu nao adicionei ao sources.list, eu instalei um a um)
image.png

O Exemplo que estou executando é 64 bits e MT (Multithread), então estou usando a lib que fica dentro da pasta MT/Linux.
Copiei a lib para /lib64

Screenshot_151.png

 

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

  • Consultores
Posted

@Ricardo Isono Bom dia !
Configure no ACBrLib.INI os paths para uma pasta de sua preferência e deixe esta pasta com permissão de escrita e gravação.
Esqueci de comentar isso no post anterior.
Veja se ele não criou um log em:

Environment Variables:
PATH=/usr/local/bin:
/usr/bin:/bin:
/usr/local/games:
/usr/games

Notei tbm no seu log esta msg onde o java pede p vc tentar executar com uns parametros
image.png

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

  • Membros Pro
Posted
Em 08/03/2024 at 08:13, Daniel InfoCotidiano disse:

@Ricardo Isono Bom dia !
Configure no ACBrLib.INI os paths para uma pasta de sua preferência e deixe esta pasta com permissão de escrita e gravação.
Esqueci de comentar isso no post anterior.
Veja se ele não criou um log em:

Environment Variables:
PATH=/usr/local/bin:
/usr/bin:/bin:
/usr/local/games:
/usr/games

Notei tbm no seu log esta msg onde o java pede p vc tentar executar com uns parametros
image.png

esse problema eu resolvi, era o motor gráfico com problema,

agora voltou ao problema do "Node XML não pode ser nulo", estou enviando os logs

ACBrLibNFSe-20240314.log

(só adicionando)

libxml2 e openssl estão instalados

e o "ln -s libxml2.so.2 libxml2.so" foi rodado

 

  • Membros Pro
  • Solution
Posted

consegui...

O link com a libxml2 que se criou com o comando "ln -s libxml2.so.2 libxml2.so" (como sugeri o manual), ficou quebrado, então fui até a raiz da instalação "/usr/lib/x86_64-linux-gnu/" localizei a dependência instalada, no meu caso, "libxml2.so.2.9.10" e refiz o link, "ln -s libxml2.so.2.9.10 libxml2.so", daí ele conseguiu localizar e rodar.

quanto ao projeto em si, eu estou distribuindo com Spring + Maven, em um servidor VPS com tomcat, então pra funcionar com o emulador gráfico eu precisei adicionar um execution junto aos plugins, no pom.xml, segue adição:

             <executions>
                    <execution>
                        <id>shutdown-xvfb-startup</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <tasks>
                                <echo message="Ending (startup) xvfb ..." />
                                <exec executable="pkill">
                                    <arg value="Xvfb" />
                                </exec>
                            </tasks>
                        </configuration>
                    </execution>
                    <execution>
                        <id>start-xvfb</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <tasks>
                                <echo message="Starting xvfb ..." />
                                <exec executable="Xvfb" spawn="true">
                                    <arg value=":2" />
                                </exec>
                            </tasks>
                        </configuration>
                    </execution>
                    <execution>
                        <id>shutdown-xvfb-shutdown</id>
                        <phase>test</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <tasks>
                                <echo message="Ending (shutdown) xvfb ..." />
                                <exec executable="pkill">
                                    <arg value="Xvfb" />
                                </exec>
                            </tasks>
                        </configuration>
                    </execution>
                </executions>

aí ficou ok.

No mais, tirando esses dois pontos citados, segui conforme o manual.

Obrigado.

  • Like 2
  • Este tópico foi criado há 305 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...