Membros Pro Messias Bittencourt Postado 28 Maio Membros Pro Compartilhar Postado 28 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Consultores Renato Rubinho Postado 28 Maio Consultores Compartilhar Postado 28 Maio O jar possui versão por arquitetura? Se tiver, veja se está utilizando a mesma da lib que você está distribuindo. 1 Link para o comentário Compartilhar em outros sites More sharing options...
Consultores Daniel InfoCotidiano Postado 28 Maio Consultores Compartilhar Postado 28 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Membros Pro Messias Bittencourt Postado 29 Maio Autor Membros Pro Compartilhar Postado 29 Maio (editado) 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. Editado 29 Maio por Messias Bittencourt . Link para o comentário Compartilhar em outros sites More sharing options...
Consultores Daniel InfoCotidiano Postado 29 Maio Consultores Compartilhar Postado 29 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Membros Pro Messias Bittencourt Postado 29 Maio Autor Membros Pro Compartilhar Postado 29 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Consultores Daniel InfoCotidiano Postado 29 Maio Consultores Compartilhar Postado 29 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Membros Pro Messias Bittencourt Postado 29 Maio Autor Membros Pro Compartilhar Postado 29 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Consultores Daniel InfoCotidiano Postado 29 Maio Consultores Compartilhar Postado 29 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Membros Pro Messias Bittencourt Postado 29 Maio Autor Membros Pro Compartilhar Postado 29 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Membros Pro Messias Bittencourt Postado 29 Maio Autor Membros Pro Compartilhar Postado 29 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Consultores Daniel InfoCotidiano Postado 29 Maio Consultores Compartilhar Postado 29 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Membros Pro Messias Bittencourt Postado 29 Maio Autor Membros Pro Compartilhar Postado 29 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Consultores Daniel InfoCotidiano Postado 29 Maio Consultores Compartilhar Postado 29 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Membros Pro Messias Bittencourt Postado 29 Maio Autor Membros Pro Compartilhar Postado 29 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Consultores Daniel InfoCotidiano Postado 29 Maio Consultores Compartilhar Postado 29 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Membros Pro Messias Bittencourt Postado 29 Maio Autor Membros Pro Compartilhar Postado 29 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Consultores Renato Rubinho Postado 29 Maio Consultores Compartilhar Postado 29 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Membros Pro Messias Bittencourt Postado 29 Maio Autor Membros Pro Compartilhar Postado 29 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Membros Pro Messias Bittencourt Postado 30 Maio Autor Membros Pro Compartilhar Postado 30 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Consultores Renato Rubinho Postado 30 Maio Consultores Compartilhar Postado 30 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Consultores Daniel InfoCotidiano Postado 31 Maio Consultores Compartilhar Postado 31 Maio @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 para o comentário Compartilhar em outros sites More sharing options...
Consultores Daniel InfoCotidiano Postado 31 Maio Consultores Compartilhar Postado 31 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Membros Pro Messias Bittencourt Postado 31 Maio Autor Membros Pro Compartilhar Postado 31 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Consultores Daniel InfoCotidiano Postado 31 Maio Consultores Compartilhar Postado 31 Maio 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 para o comentário Compartilhar em outros sites More sharing options...
Recommended Posts