使用com4j连接到hp Quality Center时出错

时间:2013-07-30 07:31:29

标签: java com4j hp-quality-center

我试图在Win7上的eclipse中使用com4j库连接到hp qc版本10.00

我按照以下步骤操作:

  • 使用tlbimp.jar
  • 创建了OTAClient.dll的包装器
  • 使用regsvr32注册的OTAClient.dll
  • 在程序中导入了OTAClient Wrapper。
  • 导入的com4j库。

使用以下代码:

import ota.ClassFactory;
import ota.ITDConnection;

public class comqc {

    public static void main(String args[]){

        ITDConnection td = ClassFactory.createTDConnection();   
        td.initConnectionEx("https://qcbt10.saas.hp.com/qcbin/start_a.htm");
        System.out.println(td.connected()); 
        td.connectProjectEx(domain, project, username, password);             
        }
}

获得以下输出:

true
Exception in thread "main" com4j.ComException: 80000482 (Unknown error) : Invalid server response : .\invoke.cpp:517
at com4j.Wrapper.invoke(Wrapper.java:166)
at $Proxy5.connectProjectEx(Unknown Source)
at qctools.main(qctools.java:15)
Caused by: com4j.ComException: 80000482 (Unknown error) : Invalid server response : .\invoke.cpp:517
at com4j.Native.invoke(Native Method)
at com4j.StandardComMethod.invoke(StandardComMethod.java:42)
at com4j.Wrapper$InvocationThunk.call(Wrapper.java:335)
at com4j.Task.invoke(Task.java:51)
at com4j.ComThread.run0(ComThread.java:153)
at com4j.ComThread.run(ComThread.java:134)

出了什么问题?

2 个答案:

答案 0 :(得分:1)

尝试https://qcbt10.saas.hp.com/qcbin作为连接目标。

OTA参考中有很多例子(OTA_API_Reference.chm);虽然用Basic编写,但它们应该很容易翻译成Java。

答案 1 :(得分:0)

我做错的第一件事是URL,我正在使用
https://qcbt10.saas.hp.com/qcbin/start_a.htm” 而我必须使用
https://qcbt10.saas.hp.com/qcbin” 就像上面的答案一样! 但在这之后,程序运行了!但JRE在运行时因“Java(TM)Platform SE二进制文件已停止工作”消息而崩溃。 这是通过在我的程序中使用“BugFactory”解决的!我不知道它是如何工作的以及为什么它不能提前工作,但是当我在任何一个语句中使用BugFactory时,崩溃就停止了! 例如,

IBugFactory bugfactory = td.bugFactory().queryInterface(IBugFactory.class);

这句话诀窍! 仍然通过使用正确的URL解决了实际问题。