I am trying to making soapUI and ALM communicate. I finally got scriptom setup correctly and even got the HP OTA ALM Reference. However i have a few queries...
You must download and register the COM library on every workstation that will communicate with the ALM Platform
Is it not possible for me to just add the OTAClient.dll to the java.library.path or somewhere else and make it work. I ask this because when the script is complete not all the users of the script will not have admin privileges to register the dll. Although they will definitely have the dll because it is downloaded as soon as someone open ALM on their machine.
Its been a few years since i have had the need to create a program to access QC or ALM through a program but previously i would just create a ActiveXObject(using vbs) and go from there no need to register or anything.
Code:
import org.codehaus.groovy.scriptom.*;
def tdc = new ActiveXObject('TDApiOle80.TDConnection')
Error:
org.codehaus.groovy.scriptom.ActiveXObject$CreationException: Could not create ActiveX object: 'TDApiOle80.TDConnection'; Can't co-create object error at line: 3
---Update-- Since posting this question i tried to register the dll as mentioned in the API reference doc but still get the same error as earlier so i have two more questions :D
Steps to register the dlls as per ALM's API reference chm doc
To use the Open Test Architecture API as a stand-alone tool, develop your own applications in a development environment that supports COM. You must download and register the COM library on every workstation that will communicate with the ALM Platform. You must have a reference to the library in your application development project.
The library, OTAClient.dll, is automatically downloaded to your workstation the first time you run ALM.
Register the library for the server by running Client Side Connectivity from the ALM Add-ins page. Select Add-ins from the Help menu. On the Add-ins page, select Client Side Connectivity, and click Download Add-in. You may need to repeat the registation if you use a different version of ALM or Quality Center 9.2 or later.
Further questions... 1. how can i check that the dlls were actually registered and that too the 64bit versions not the 32 bit versions? 2. Would it just be easier to use the Rest API exposed by ALM to do what i want to do? I would like the code to be able to work with ALM and QC9.0.
Hope this helps!