Is it possible to call a COM API from Java (specifically the HP/Mercury Quality Center OTA API)? If so, what's the best way?
Is something like JACOB appropriate?
Code fragments would be helpful for the basics :-)
Is it possible to call a COM API from Java (specifically the HP/Mercury Quality Center OTA API)? If so, what's the best way?
Is something like JACOB appropriate?
Code fragments would be helpful for the basics :-)
jacob : yes, http://sourceforge.net/projects/jacob-project/ is an active project that will suite your purpose pretty well.
you can see multiple examples : http://jacob-project.wiki.sourceforge.net/Event+Callbacks
but if you want something that is more tested and are willing to pay money, then go for http://www.nevaobject.com/_docs/_java2com/java2com.htm.
after a comparison of all the above, none was totally satisfactory.
the most complete solution is in https://github.com/java-native-access/jna
now.
It supports,
E.g.
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();
maybe you should have a look at http://qctools4j.sourceforge.net/ it's a java library used by qclylyn (http://sourceforge.net/apps/mediawiki/qcmylyn/index.php?title=Main_Page) to retrieve defects from QC.
unfortunately the COM bridge doesn't work for linux as it loads jacob dlls
j-Interop is a Java-COM bridge: j-Interop. It's written in pure Java and licensed under the LGPL v3. It uses the DCOM wire protocol to call COM objects as opposed to the JNI approach used by JACOB.
You can use J-Integra COM2JAVA tool. The com2java tool generates Java "proxy" classes and interfaces that correspond to the coclasses and interfaces contained in a COM type library. It effectively generates a Java API which you can use to access a COM component from Java.
© 2022 - 2024 — McMap. All rights reserved.