Question

Est-il possible d'appeler une API COM à partir de Java (en particulier l'API OTA HP / Mercury Quality Center)? Si oui, quel est le meilleur moyen?

Est-ce que quelque chose comme JACOB est approprié?

Des fragments de code seraient utiles pour les bases: -)

Était-ce utile?

La solution

jacob: oui, http://sourceforge.net/projects/jacob-project/ est un projet actif qui répondra plutôt bien à votre objectif.

vous pouvez voir plusieurs exemples: http: //jacob-project.wiki.sourceforge. net / événement + rappel

mais si vous voulez quelque chose de plus testé et que vous êtes prêt à payer, optez pour http://www.nevaobject.com/_docs/_java2com/java2com.htm .

Autres conseils

J'ai également trouvé cela utile: com4j

Vous pouvez utiliser Jawin > http://jawinproject.sourceforge.net/

ou essayez les instructions http://docs.rinet.ru/ZhPP/ch20.htm

Arun K.Y arunky

Peut-être devriez-vous jeter un coup d'œil à http://qctools4j.sourceforge.net/ C'est une bibliothèque java utilisée par qclylyn (http://sourceforge.net/apps/mediawiki/qcmylyn/index.php?title=Main_Page) pour récupérer les défauts du contrôle qualité.

malheureusement, le pont COM ne fonctionne pas pour linux car il charge les dll jacob

après une comparaison de tout ce qui précède, aucun n’a été totalement satisfaisant.

la solution la plus complète est en https://github.com/java-native-access/jna

maintenant.

Il prend en charge,

  • interface avec un objet COM en cours d'exécution
  • commencer un nouvel objet COM et retourner son interface
  • appel de méthodes COM et renvoi des résultats
  • traitement facultatif distinct des threads COM
  • ComEventCallbacks
  • Requêtes RunninObjectTable
  • utilisation COM de bas niveau
  • abstraction de proxy java util / high level

ex.

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 est un pont Java-COM: j-Interop . Il est écrit en Java pur et sous licence LGPL v3. Il utilise le protocole filaire DCOM pour appeler des objets COM contrairement à l’approche JNI utilisée par JACOB.

Vous pouvez utiliser l'outil COM2JAVA de J-Integra. . L'outil com2java génère Java " proxy " classes et interfaces correspondant aux coclasses et interfaces contenues dans une bibliothèque de types COM. Il génère efficacement une API Java que vous pouvez utiliser pour accéder à un composant COM à partir de Java.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top