Pessoal, estou precisando acessar um componente OCX chamado ESP7.ocx. Ele serve para realizar operações com o Mainframe BULL. Eu consegui acessar via javascript, mas estou precisando acessar em java. Já pesquisei na internet e vi que existem uns frameworks que auxiliam, como: jawin, com4j, jacob, etc. Porém, não obtive sucesso por conta da complicação. Pode ser que seja possível acessar com elas, se alguem tiver algum exemplo satisfatório, ficaria grato.
Quando eu precisei fazer integração ocx, fiz através do Groovy. A parte de OCX ficava em scripts, infinitamente mais simples do que aquela parafernalha de quando usamos o jacob diretamente.
publicclassFips140Sha1{publicbyte[]generateHash(Stringinput){returnScriptom.inApartment{ActiveXObjectsha=newActiveXObject(‘MyFips140Crypto.SHA’);SafeArrayhash=sha.GenerateHash(input);returnhash.toArray();//Converts COM SafeArray to Java byte[]}}}
Então no caso o ‘MyFips140Crypto.SHA’ é o arquivo ocx?
E como eu acesso as funções/métodos?
ViniGodoy
Isso mesmo.
Para acessar as funções e métodos, vc simplesmente chama eles!
No exemplo que você mesmo postou, ele usa a função GenerateHash.
M
markimquixada
Eu não estou entendendo o código, ele da um return Scriptom.inApartment e abre chaves, ta dando erro de compilação no meu projeto, já copiei os jars e coloquei no meu projeto. O que eu não entendi é que tem um executável também, pra que serve ele?
Ele não consegue achar o pacote scriptom em “import org.codehaus.groovy.scriptom.*;”
ViniGodoy
Você leu o artigo todo?
Aquele código é em Groovy. Groovy é uma linguagem de programação. Você deve escrever um script, nessa linguagem, e instanciar esse script pelo java, usando o GroovyClassLoader.
M
markimquixada
Ah tah certo, não tinha lido por que eu achava que era uma API, que era só importar as classes e pronto. Vou tentar denovo.
M
markimquixada
OK, coloquei no console do groovy e quando tento executar, da o seguinte erro:
Exception thrown: This script or class could not be run.
It should either:
have a main method,
be a JUnit test, TestNG test or extend GroovyTestCase,
or implement the Runnable interface.
groovy.lang.GroovyRuntimeException: This script or class could not be run.
It should either:
have a main method,
be a JUnit test, TestNG test or extend GroovyTestCase,