Ir para conteúdo
  • Cadastre-se

dev botao

Integração com Genexus


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

Recommended Posts

  • Membros Pro

Boa noite!

Sou desenvolvedor Genexus desde 1997 e utilizo o ACBrMonitorPlus já há uns 6 anos pelo menos, mas agora estou desenvolvendo um projeto de integração do ACBrLib com o Genexus e quando estiver concluído será disponibilizado para toda comunidade de desenvolvedores GX do Brasil, que diga-se de passagem é bem grande, e com isso espero colaborar aumentando a quantidade clientes de SAC do ACBr. 

No momento estou trabalhando na integração via Java e assim que esta estiver pronta vou liberar também para C# (.Net e .Net Core), abrangendo assim as linguagens de retaguarda do ambiente WEB mantido pelo Genexus. Eu consegui importar todas as classes para dentro da ferramenta e consegui compilar sem erros um pequeno modelo de teste, porém, na execução ocorre um erro que pelo que eu consegui identificar, já que não sou expert em Java, deve ser porque a classe não achou a DLL. No caso estou testando com a ACBrLibNfe. A aplicação roda em ambiente WEB Java sob Tomcat, já estou a uns 2 dias tentando achar o local correto para colocar a DLL, mas até agora sem sucesso. Você teria alguma sugestão? Eu já coloquei na System32, junto com as classes do aplicativo, dentro da pasta "lib" da aplicação no Webapps, na raiz do Tomcat, na raiz da aplicação. Pior que os logs não são claros, eles apenas acusam o erro definido na exception, sem informar nenhum código de erro ou uma mensagem relativa ao que ele não está encontrando.

Se tiver alguma ideia fico agradecido.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Aqui nos meus testes estou usando Windows 10 64bits e JRE 64bits. Mas também tenho intensão de testar em ambiente Linux, mas primeiro preciso fazer funcionar em Windows.

Eu já tentei colocar na pasta System32 mas ele não achou. Acho que preciso revisar a documentação do Tomcat pra ver como ele pega o caminho do JRE, se ele utiliza uma variável de ambiente como CLASSPATH ou se isso fica dentro do arquivo web.xml da aplicação.

Link para o comentário
Compartilhar em outros sites

  • Consultores
43 minutos atrás, carloslk disse:

Aqui nos meus testes estou usando Windows 10 64bits e JRE 64bits. Mas também tenho intensão de testar em ambiente Linux, mas primeiro preciso fazer funcionar em Windows.

Eu já tentei colocar na pasta System32 mas ele não achou.

Sua aplicação é 64 bits? Se for, como o Windows é 64 bits o local correto é a System32. Caso contrário o local correto é a pasta SYSWOW.

Na verdade sempre aconselhamos colocar dlls na mesma pasta do executável. Assim, ele não precisa procurar em outros lugares causando confusão.

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Sim a aplicação é 64bits, mas eu já tentei colocar na pasta System32 e não funcionou. Outra coisa minha aplicação é WEB Java e roda sob o Tomcat, eu tentei colocar as DLLs na mesma pasta onde ficam os JARs, também não funcionou.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Rafael outra coisa, estou tentando executar a Demo em Java usando Netbeans e esta dando o erro abaixo:
 

run:
out 15, 2019 10:05:15 AM com.acbr.nfe.demo.FrmMain btnStatusServActionPerformed
GRAVE: null
java.lang.Exception: Erro ao salvar.
Unable to open file "C:\Program Files\Java\jdk1.8.0_221\bin\Docs\20191015100515-ped-sta.xml"
    at com.acbr.ACBrLibBase.checkResult(ACBrLibBase.java:70)
    at com.acbr.nfe.ACBrNFe.statusServico(ACBrNFe.java:169)
    at com.acbr.nfe.demo.FrmMain.btnStatusServActionPerformed(FrmMain.java:815)
    at com.acbr.nfe.demo.FrmMain.access$900(FrmMain.java:24)
    at com.acbr.nfe.demo.FrmMain$10.actionPerformed(FrmMain.java:662)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6539)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6304)
    at java.awt.Container.processEvent(Container.java:2239)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2297)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
    at java.awt.Container.dispatchEventImpl(Container.java:2283)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
    at java.awt.EventQueue$4.run(EventQueue.java:733)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

BUILD SUCCESSFUL (total time: 29 minutes 38 seconds)
 

Sabe me dizer porque ele está tentando abrir o XML da solicitação de status do serviço na pasta "C:\Program Files\Java\jdk1.8.0_221\bin\Docs\"? Existe alguma configuração para determinar esse local?

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.