ошибка при подключении к hp Quality Center с помощью com4j

я пытаюсь подключиться к hp qc версии 10.00, используя библиотеку com4j в eclipse на Win7

Я выполнил следующие шаги:

  • Создал оболочку для OTAClient.dll с помощью tlbimp.jar.
  • Зарегистрировал OTAClient.dll с помощью regsvr32
  • Импортировал 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)

Что происходит не так?


person pvash    schedule 30.07.2013    source источник


Ответы (2)


Попробуйте https://qcbt10.saas.hp.com/qcbin в качестве цели подключения.

В Справочнике OTA (OTA_API_Reference.chm) есть немало примеров; несмотря на то, что они написаны на Basic, они должны быть легко переведены на Java.

person Gyro Gearless    schedule 30.07.2013
comment
пробовал 'qcbt10.saas.hp.com/qcbin', но java(tm) дает сбой после "истинный" выход! - person pvash; 30.07.2013
comment
Что вы имеете в виду под «сбоями», тем же исключением, что и раньше? Согласно документам initConnectionEx устарело (что бы это ни значило), возможно, попробуйте Login, а затем Connect - person Gyro Gearless; 30.07.2013
comment
под «сбоями» я подразумеваю, что я получаю всплывающее окно, показывающее, что «двоичный файл Java (TM) Platform SE перестал работать». Я не могу использовать методы Login и Connect, так как они отсутствуют в Wrapper OTAClient, поэтому эти методы не распознаются! я могу получить «истинный» вывод с помощью команды --System.out.println(td.projectConnected()); -- что означает, что проект подключен! - person pvash; 30.07.2013

Первое, что я сделал неправильно, это 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-адреса.

person pvash    schedule 06.08.2013