java - HP ALM OTAClient.dll 与 64 位操作系统不兼容

标签 java alm hp-quality-center com4j

我添加了一段代码,用于通过 Eclipse(Java) 在 HP ALM 中连接并创建缺陷,其中它与 OTAClient 和 com4j.jar 进行通信。我成功地能够在 32 位操作系统中连接并创建缺陷,但无法在基于 64 位的操作系统上连接它。

我绕过了此处发布的一些解决方案,即使成功遵循该解决方案,我也无法实现解决方案。 [1]:com4j on Windows 64 bit ..

这是我的代码

import com.ClassFactory;
import com.IBug;
import com.IBugFactory;
import com.ITDConnection;
import com4j.Variant;


public class AlmQc {
public static void main(String args[])
{
    login();
}

public static void createDefect(ITDConnection connection)  {

    IBugFactory  bugFactory = (IBugFactory) connection.bugFactory().queryInterface(IBugFactory.class);
    IBug bug = (bugFactory.addItem(new Variant(Variant.Type.VT_NULL))).queryInterface(IBug.class);

    bug.assignedTo("Administrator");
    bug.detectedBy("Administrator");
    bug.status("New");
    bug.project("Banking");
    bug.summary("Created by Esh");
    //bug.priority("Low");
    bug.field("BG_SEVERITY", "2-Medium");
    bug.field("BG_DETECTION_DATE", "2016-01-27 00:00:00");
    bug.post();

}

public static void login()
{

    String url = "http://almqc:8080/qcbin";


    String username = "Administrator";
    String password = "********";

    String domain = "DEFAULT";

    String project = "Banking";

    ITDConnection itdc = ClassFactory.createTDConnection();

    itdc.initConnectionEx(url);

    itdc.connectProjectEx(domain, project, username, password);
    System.out.println(itdc.projectConnected());
    createDefect(itdc);
}

在 Eclipse 中运行上面的代码时遇到以下错误。

Exception in thread "main" com4j.ExecutionException: com4j.ComException: 80040154 CoCreateInstance failed : Class not registered : .\com4j.cpp:153
at com4j.ComThread.execute(ComThread.java:203)
at com4j.Task.execute(Task.java:25)
at com4j.COM4J.createInstance(COM4J.java:97)
at com4j.COM4J.createInstance(COM4J.java:72)
at com.mercury.qualitycenter.otaclient.ClassFactory.createTDConnection(Unknown Source)
at Sample.main(Sample.java:18)
Caused by: com4j.ComException: 80040154 CoCreateInstance failed : Class not registered : .\com4j.cpp:153
at com4j.Native.createInstance(Native Method)
at com4j.COM4J$CreateInstanceTask.call(COM4J.java:117)
at com4j.COM4J$CreateInstanceTask.call(COM4J.java:104)
at com4j.Task.invoke(Task.java:51)
at com4j.ComThread.run0(ComThread.java:153)
at com4j.ComThread.run(ComThread.java:134)

请提供在 64 位操作系统上成功执行的任何解决方案或解决方案。

最佳答案

您必须制作一个可以使用 32 位版本 OTACLIENT.DLL 的 32 位版本的程序。我不知道 64 位版本的 OTCLIENT.DLL。

关于java - HP ALM OTAClient.dll 与 64 位操作系统不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35151776/

相关文章:

java - 将一维数组复制到二维数组

mysql - 如何从另一个 Excel 报表调用一个 Excel 报表?

testing - 在 HP QC 中运行缺陷查询

java - 将 Selenium 与 HP ALM 集成

hp-quality-center - HP 质量中心中的查找字段

java - 创建 connectioFactory JMS websphere MQ 时出错

java - Maven 编译器未将 getters/setters(使用 Lombok 生成)添加到构建 jar 文件中

java - 是否可以在一个类中同时实现 scala.collection.Seq[T] 和 java.util.List[T]

tfs - 此代理的 session 已存在

visual-studio - 在 Visual Studio Team Services 路径中找不到 curl