Membros Pro Messias Bittencourt Posted May 28 Membros Pro Share Posted May 28 Boa tarde à todos. Teriam como me dar uma ajuda por favor? Utilizei o mesmo projeto abaixo e com as mesmas configurações em 3 notes e 1 desktop diferentes. Mas só funciona em 1 dos 4. Fica dando exception. Observe os retornos de cada linha... -10 E na hora do ACBrBoletoLib.INSTANCE.Boleto_Finalizar() dá a exception abaixo: 2024-05-28 12:20:32.036[0;39m [31mERROR[0;39m [35m15184[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36mo.a.c.c.C.[.[.[/].[dispatcherServlet] [0;39m [2m:[0;39m Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.Error: Invalid memory access] with root cause java.lang.Error: Invalid memory access at com.sun.jna.Native.invokeInt(Native Method) ~[jna-5.9.0.jar:5.9.0 (b0)] Saberiam me dizer o que está acontecendo? Ou teria como me dar um help por favor? Att Link to comment Share on other sites More sharing options...
Consultores Renato Rubinho Posted May 28 Consultores Share Posted May 28 O jar possui versão por arquitetura? Se tiver, veja se está utilizando a mesma da lib que você está distribuindo. 1 Link to comment Share on other sites More sharing options...
Consultores Daniel InfoCotidiano Posted May 28 Consultores Share Posted May 28 Tópico movido para a área do SAC, para que o SLA de respostas seja considerado Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Link to comment Share on other sites More sharing options...
Membros Pro Messias Bittencourt Posted May 29 Author Membros Pro Share Posted May 29 (edited) 16 horas atrás, Renato Rubinho disse: O jar possui versão por arquitetura? Se tiver, veja se está utilizando a mesma da lib que você está distribuindo. Bom dia Renato. As arquiteturas são as mesmas e a lib também acompanha. Teoricamente seria para funcionar mas em algo ainda peco nestas 3 outras máquinas nas quais não funciona. Edited May 29 by Messias Bittencourt . Link to comment Share on other sites More sharing options...
Consultores Daniel InfoCotidiano Posted May 29 Consultores Share Posted May 29 se vc pegar as dlls (lib, ini e dependências) da maquina q esta funcionando e copiar para as outras funciona? existe permissão de leitura e escrita nas pastas? o projeto jar é o mesmo tbm? Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Link to comment Share on other sites More sharing options...
Membros Pro Messias Bittencourt Posted May 29 Author Membros Pro Share Posted May 29 10 minutos atrás, Daniel InfoCotidiano disse: se vc pegar as dlls (lib, ini e dependências) da maquina q esta funcionando e copiar para as outras funciona? existe permissão de leitura e escrita nas pastas? o projeto jar é o mesmo tbm? Bom dia Daniel. Foi feita exatamente esta cópia. Os arquivos e o projeto foram copiados e o erro persiste. Pode ser que algum esteja conflitando com a dll creio eu. Existe alguma combinação de versões? O que estou usando é: E devidamente configurado no path (variáveis de ambiente)? Spring Tool Suite 4 - Version: 4.15.1.RELEASE - Build Id: 202206171354 C:\Program Files\Java\jdk-11 C:\Program Files\OpenSSL-Win64 (OpenSSL 3.3) Link to comment Share on other sites More sharing options...
Consultores Daniel InfoCotidiano Posted May 29 Consultores Share Posted May 29 Faz um teste assim. junto com acbrlibNFe.dll deixe as dependencias. todas dlls vai ter uma pasta qdo faz o download da lib com as dll das dependencias. (openssl/xml2) se sua aplicação for 32 compilada em 32 bits, todas dependencias e lib serão da pasta x86, caso seja compilado 64bits, utilize lib e dependencia da x64 exemplo da minha pasta em c# aplicacao gerada em 32bits Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Link to comment Share on other sites More sharing options...
Membros Pro Messias Bittencourt Posted May 29 Author Membros Pro Share Posted May 29 6 minutos atrás, Messias Bittencourt disse: Bom dia Daniel. Foi feita exatamente esta cópia. Os arquivos e o projeto foram copiados e o erro persiste. Pode ser que algum esteja conflitando com a dll creio eu. Existe alguma combinação de versões? O que estou usando é: E devidamente configurado no path (variáveis de ambiente)? Spring Tool Suite 4 - Version: 4.15.1.RELEASE - Build Id: 202206171354 C:\Program Files\Java\jdk-11 C:\Program Files\OpenSSL-Win64 (OpenSSL 3.3) Testei inclusive alterando versões no jna e jna-plataform 2 minutos atrás, Daniel InfoCotidiano disse: Faz um teste assim. junto com acbrlibNFe.dll deixe as dependencias. todas dlls vai ter uma pasta qdo faz o download da lib com as dll das dependencias. (openssl/xml2) se sua aplicação for 32 compilada em 32 bits, todas dependencias e lib serão da pasta x86, caso seja compilado 64bits, utilize lib e dependencia da x64 exemplo da minha pasta em c# aplicacao gerada em 32bits No meu caso é a ACBrBoleto64.dll + java. As dependências não são as mesmas certo? Link to comment Share on other sites More sharing options...
Consultores Daniel InfoCotidiano Posted May 29 Consultores Share Posted May 29 isso mesmo.. pode me mandar o log paranoico da lib de uma das maquinas q nao estao funcionando? Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Link to comment Share on other sites More sharing options...
Membros Pro Messias Bittencourt Posted May 29 Author Membros Pro Share Posted May 29 2 minutos atrás, Messias Bittencourt disse: Testei inclusive alterando versões no jna e jna-plataform No meu caso é a ACBrBoleto64.dll + java. As dependências não são as mesmas certo? E no meu caso que é boleto a única coisa na pasta "dep" são as logos. Tanto para HOM quanto PROD. Link to comment Share on other sites More sharing options...
Membros Pro Messias Bittencourt Posted May 29 Author Membros Pro Share Posted May 29 Agora, Daniel InfoCotidiano disse: isso mesmo.. pode me mandar o log paranoico da lib de uma das maquinas q nao estao funcionando? Claro q sim boleto.log Link to comment Share on other sites More sharing options...
Consultores Daniel InfoCotidiano Posted May 29 Consultores Share Posted May 29 Log da biblioteca, vc configura aqui: https://acbr.sourceforge.io/ACBrLib/Geral.html Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Link to comment Share on other sites More sharing options...
Membros Pro Messias Bittencourt Posted May 29 Author Membros Pro Share Posted May 29 56 minutos atrás, Daniel InfoCotidiano disse: Log da biblioteca, vc configura aqui: https://acbr.sourceforge.io/ACBrLib/Geral.html Desculpe me a falta de conhecimento. Mas estas configs eu faço direto no "cedente.ini" ou devo ter um "ACBrLib.ini"? Link to comment Share on other sites More sharing options...
Consultores Daniel InfoCotidiano Posted May 29 Consultores Share Posted May 29 1 minuto atrás, Messias Bittencourt disse: Mas estas configs eu faço direto no "cedente.ini" ou devo ter um "ACBrLib.ini"? isso no acbrlib.ini https://acbr.sourceforge.io/ACBrLib/Geral.html Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Link to comment Share on other sites More sharing options...
Membros Pro Messias Bittencourt Posted May 29 Author Membros Pro Share Posted May 29 26 minutos atrás, Daniel InfoCotidiano disse: isso no acbrlib.ini https://acbr.sourceforge.io/ACBrLib/Geral.html Quando deixo o ACBrBoletoLib.INSTANCE.Boleto_Inicializar("", "") vazio ele deveria criar o arquivo acbrlib.ini. O que não está acontecendo. Resolvi então criá lo manualmente e colocar de seguinte forma no comando ACBrBoletoLib.INSTANCE.Boleto_Inicializar("C:\\dev\\Boletos_new\\arquivos_ini_hom\\", ""). De qq forma não surtiu efeito. Como podemos ver na imagem abaixo ele já dá erro no inicializar. Agora, Messias Bittencourt disse: Quando deixo o ACBrBoletoLib.INSTANCE.Boleto_Inicializar("", "") vazio ele deveria criar o arquivo acbrlib.ini. O que não está acontecendo. Resolvi então criá lo manualmente e colocar de seguinte forma no comando ACBrBoletoLib.INSTANCE.Boleto_Inicializar("C:\\dev\\Boletos_new\\arquivos_ini_hom\\", ""). De qq forma não surtiu efeito. Como podemos ver na imagem abaixo ele já dá erro no inicializar. Segue também o ini que criei manualmenteACBrLib.ini Link to comment Share on other sites More sharing options...
Consultores Daniel InfoCotidiano Posted May 29 Consultores Share Posted May 29 No seu arquivo qdo vc inicializa vc aponta um path com o arquivo lib, se ele nao existir vai criar. Pode estar ai o problema. entao supondo q ele vai criar em \pdv\acbrlib.ini vc precisa configurar a lib, dentre estas configuracoes, vc precisa informar o nivel e o log path q sera criado o arquivo log [Principal] TipoResposta=0 CodificacaoResposta=0 LogNivel=4 LogPath=\pdv\log\ Em Python por exemplo inicializo informando qual path e ini vou usar.. se nao existir ele cria. Depois ja vou configurando o que preciso da lib como tipo de reposta e log; Mas vc pode configurar manual na libINI, mas depis mude algo p saber se sua aplicacao esta lendo a lib correta #Inicializa Lib resposta = acbr_lib.NFE_Inicializar("c:\nfe\acbrlib.ini",) if resposta == 0: print("Libi inicializada com sucesso!") else print("erro ao iniciar a lib. erro:",inicializa) # interromper aqui a execucao do programa pois a lib nao foi iniciada #configurando tipo de repsosta retorno INI acbr_lib.NFE_ConfigGravarValor("Principal", "TipoResposta","2") #log configurando log na ini acbr_lib.NFE_ConfigGravarValor("Principal", "LogNivel", "4") acbr_lib.NFE_ConfigGravarValor("Principal", "LogPath" , "c:\nfe\log\") Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Link to comment Share on other sites More sharing options...
Membros Pro Messias Bittencourt Posted May 29 Author Membros Pro Share Posted May 29 3 horas atrás, Daniel InfoCotidiano disse: No seu arquivo qdo vc inicializa vc aponta um path com o arquivo lib, se ele nao existir vai criar. Pode estar ai o problema. entao supondo q ele vai criar em \pdv\acbrlib.ini vc precisa configurar a lib, dentre estas configuracoes, vc precisa informar o nivel e o log path q sera criado o arquivo log [Principal] TipoResposta=0 CodificacaoResposta=0 LogNivel=4 LogPath=\pdv\log\ Em Python por exemplo inicializo informando qual path e ini vou usar.. se nao existir ele cria. Depois ja vou configurando o que preciso da lib como tipo de reposta e log; Mas vc pode configurar manual na libINI, mas depis mude algo p saber se sua aplicacao esta lendo a lib correta #Inicializa Lib resposta = acbr_lib.NFE_Inicializar("c:\nfe\acbrlib.ini",) if resposta == 0: print("Libi inicializada com sucesso!") else print("erro ao iniciar a lib. erro:",inicializa) # interromper aqui a execucao do programa pois a lib nao foi iniciada #configurando tipo de repsosta retorno INI acbr_lib.NFE_ConfigGravarValor("Principal", "TipoResposta","2") #log configurando log na ini acbr_lib.NFE_ConfigGravarValor("Principal", "LogNivel", "4") acbr_lib.NFE_ConfigGravarValor("Principal", "LogPath" , "c:\nfe\log\") Tentei também desta forma. Mas o erro continua aparecendo desde o inicializar. Tentaiva_03.txtTentaiva_02.txtTentaiva_01.txt Testei tentando deixar ele criar o ini, assim como eu criando o ini manualmente. E também alterando as dependências do pom.xml, colocando as diretamente no build path. E assim estou caminhando com minhas tentativas mas em todas, até o momento, o erro persiste. Link to comment Share on other sites More sharing options...
Consultores Renato Rubinho Posted May 29 Consultores Share Posted May 29 Revisando. Seu jar, sua aplicação são x64, certeza? Tenha certeza de copiar as dlls de dependências também x64. Tente instalar as ferramentas de runtime do C++ que o problema pode ter relação com as dlls de dependências. https://github.com/abbodi1406/vcredist/releases Link to comment Share on other sites More sharing options...
Membros Pro Messias Bittencourt Posted May 29 Author Membros Pro Share Posted May 29 Revisando. Seu jar, sua aplicação são x64, certeza? Tenha certeza de copiar as dlls de dependências também x64. Tente instalar as ferramentas de runtime do C++ que o problema pode ter relação com as dlls de dependências. https://github.com/abbodi1406/vcredist/releases Em relação ao x64 tenho certeza que tudo ok. Vou agora verificar esta questão do runtime. Obrigado! 1 Link to comment Share on other sites More sharing options...
Membros Pro Messias Bittencourt Posted May 30 Author Membros Pro Share Posted May 30 Em relação ao x64 tenho certeza que tudo ok. Vou agora verificar esta questão do runtime. Obrigado! Com a instalação do runtime acima indicado, parou de acontecer a exception na primeira vez que o método é executado. Da segunda em diasnte ainda dá o erro de Invalid Memory Access. Se eu parar o server e subir novamente, a primeira vez não dá mais o erro de memory access. Mas de qq forma continuam os retornos com -10. Saberiam me dizer se tem mais algo a ser instalado? Obrigado Link to comment Share on other sites More sharing options...
Consultores Renato Rubinho Posted May 30 Consultores Share Posted May 30 Spring Tool Suite 4 - Version: 4.15.1.RELEASE - Build Id: 202206171354 C:\Program Files\Java\jdk-11 C:\Program Files\OpenSSL-Win64 (OpenSSL 3.3) No início você postou um print que está utilizando a versão 3. As dlls da OpenSSL são distribuídas com a lib. Assim como o @Daniel InfoCotidianosugeriu, tente copiar as dlls distribuídas pelo ACBr e cole na mesma pasta onde está a lib, mas atente-se em pegar as x64 ao invés do exemplo dele x86. Teste com a versão 1.1.1.10 que é mais antiga e tem menor chances de ser o problema. Link to comment Share on other sites More sharing options...
Consultores Daniel InfoCotidiano Posted May 31 Consultores Share Posted May 31 @Messias Bittencourt Se o retorno esta vindo -10, procure o log ai nas suas pastas. Pois pode ser um dado invalido, -10 na consulta cnpj é CNPJ invalido. Através do log vc vai detectar o problema, por isso q solicitei acima, vc chegou a me enviar ? 1 Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Link to comment Share on other sites More sharing options...
Consultores Daniel InfoCotidiano Posted May 31 Consultores Share Posted May 31 sobre Log e ini veja se ele nao esta criando na pasta /usr/bin passei por isso com NodeJs... Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Link to comment Share on other sites More sharing options...
Membros Pro Messias Bittencourt Posted May 31 Author Membros Pro Share Posted May 31 sobre Log e ini veja se ele nao esta criando na pasta /usr/bin passei por isso com NodeJs... Estou usando windows 11. E o arquivo de log não está sendo criado. No início você postou um print que está utilizando a versão 3. As dlls da OpenSSL são distribuídas com a lib. Assim como o @Daniel InfoCotidianosugeriu, tente copiar as dlls distribuídas pelo ACBr e cole na mesma pasta onde está a lib, mas atente-se em pegar as x64 ao invés do exemplo dele x86. Teste com a versão 1.1.1.10 que é mais antiga e tem menor chances de ser o problema. Vou tentar esta versão mais antiga então obrigado! Link to comment Share on other sites More sharing options...
Consultores Daniel InfoCotidiano Posted May 31 Consultores Share Posted May 31 Na pasta onde vc indicou o log esta com permissão de leitura e gravação ? int logNivel = ACBrBoletoLib.INSTANCE.Boleto_ConfigGravarValor("Principal", "LogNivel", "4"); int logPath = ACBrBoletoLib.INSTANCE.Boleto_ConfigGravarValor("Principal", "LogPath" , "C:\\dev\\Boletos_new\\arquivos_ini_hom\\"); Se vc executar ai um localizar ele nao encontra o arquivo em nenhuma outra pasta ? c:\>dir ACbrLibBoleto*.log /s/b Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Link to comment Share on other sites More sharing options...
Recommended Posts