È ansible chiamare un’API COM da Java?

È ansible chiamare un’API COM da Java (in particolare l’API OTA di HP / Mercury Quality Center)? Se è così, qual è il modo migliore?

Qualcosa come JACOB è appropriato?

I frammenti di codice sarebbero utili per le basi 🙂

jacob: sì, http://sourceforge.net/projects/jacob-project/ è un progetto attivo che soddisferà molto bene il tuo scopo.

puoi vedere più esempi: http://jacob-project.wiki.sourceforge.net/Event+Callbacks

ma se vuoi qualcosa che è più testato e sei disposto a pagare, vai su http://www.nevaobject.com/_docs/_java2com/java2com.htm .

Ho anche trovato questo utile: com4j

Puoi usare Jawin> http://jawinproject.sourceforge.net/

oppure prova le istruzioni http://docs.rinet.ru/ZhPP/ch20.htm

Arun KY arunky

forse dovresti dare un’occhiata a http://qctools4j.sourceforge.net/ è una libreria java usata da qclylyn (http://sourceforge.net/apps/mediawiki/qcmylyn/index.php?title=Main_Page) per recuperare i difetti dal controllo di qualità.

sfortunatamente il bridge COM non funziona per Linux in quanto carica le DLL di jacob

dopo un confronto di tutto ciò, nessuno è stato del tutto soddisfacente.

la soluzione più completa è in https://github.com/java-native-access/jna

adesso.

Supporta,

  • ottenere un’interfaccia per un object COM in esecuzione
  • avviare un nuovo object COM e restituire la sua interfaccia
  • chiamare i metodi COM e restituire risultati
  • gestione thread separata COM opzionale
  • ComEventCallbacks
  • Query RunninObjectTable
  • uso COM di livello inferiore
  • util / astrazione java proxy di alto livello

Per esempio

MsWordApp comObj = this.factory.createObject(MsWordApp.class); Documents documents = comObj.getDocuments(); _Document myDocument = documents.Add(); String path = new File(".").getAbsolutePath(); myDocument.SaveAs(path + "\\abcdefg", WdSaveFormat.wdFormatPDF); comObj.Quit(); 

j-Interop è un bridge Java-COM: j-Interop . È scritto in puro Java e concesso in licenza sotto LGPL v3. Usa il protocollo del filo DCOM per chiamare oggetti COM rispetto all’approccio JNI usato da JACOB.

Puoi usare lo strumento J-Integra COM2JAVA . Lo strumento com2java genera classi e interfacce Java “proxy” che corrispondono alle coclass e alle interfacce contenute in una libreria di tipi COM. Genera in modo efficace un’API Java che è ansible utilizzare per accedere a un componente COM da Java.