Error with OSLC Automation Adapter Creation
Hello,
Edit: I am not sure why, but the capitalization is wrong, and extra semi-colons are added to the code in the pre-formatted block. Those are not in my code.
I am working on interfacing an existing stand-alone automated test system with a new instance of Rational Quality Manager. The main idea is we should be able to attach scripts for our test system to individual Test Script (or Test Case) entries, and then automatically run them on our test server by manually triggering through RQM or through Test Schedules.
From looking through the documents, it looks like the best way to accomplish this is to create an Automation Adapter on the test server that polls the RQM server for automation requests. I am attempting to follow the example outlined here:
https://jazz.net/wiki/bin/view/Main/RQMTestAutomationAdapterAPI
I am able to crawl through the OSLC Resources to the RQM Automation ServiceProvider and grab the URI for the Default creation factory for AutomationAdapter (steps 1-8). I then construct the following XML document:
Thanks,
Elliot
Edit: I am not sure why, but the capitalization is wrong, and extra semi-colons are added to the code in the pre-formatted block. Those are not in my code.
I am working on interfacing an existing stand-alone automated test system with a new instance of Rational Quality Manager. The main idea is we should be able to attach scripts for our test system to individual Test Script (or Test Case) entries, and then automatically run them on our test server by manually triggering through RQM or through Test Schedules.
From looking through the documents, it looks like the best way to accomplish this is to create an Automation Adapter on the test server that polls the RQM server for automation requests. I am attempting to follow the example outlined here:
https://jazz.net/wiki/bin/view/Main/RQMTestAutomationAdapterAPI
I am able to crawl through the OSLC Resources to the RQM Automation ServiceProvider and grab the URI for the Default creation factory for AutomationAdapter (steps 1-8). I then construct the following XML document:
<?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rqm_qm="http://jazz.net/ns/qm/rqm#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:oslc="http://open-services.net/ns/core#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rqm_qm:AutomationAdapter> <rdf:type rdf:resource="http://jazz.net/ns/qm/rqm#AutomationAdapter"/>This is being posted with the same session which I was using to crawl OSLC graph. I sent it with the following headers:
<oslc:serviceProvider rdf:resource="https://ourserver.ourdomain.com:9443/qm/oslc_auto_test/contexts/_FDdKMWSnEeKaG85ccO8YgQ/services.xml"/>
<oslc:instanceShape rdf:resource="https://ourserver.ourdomain.com:9443/qm/oslc_auto_test/contexts/_FDdKMWSnEeKaG85ccO8YgQ/shape/creation/com.ibm.rqm.execution.ToolAdapter"/>
<dcterms:title>Test Test Adapter</dcterms:title>
<dcterms:description>Test Test Adapter Description</dcterms:description>
<dcterms:type>Test Test Type</dcterms:type>
<rqm_qm:pollingInterval>60</rqm_qm:pollingInterval>
<rqm_qm:capability>Execute</rqm_qm:capability>
<rqm_qm:hostname>MYHOST</rqm_qm:hostname>
<rqm_qm:fullyQualifiedDomainName>http://MYHOST.ourdomain.com</rqm_qm:fullyQualifiedDomainName>
<rqm_qm:ipAddress>12.34.56.78</rqm_qm:ipAddress>
<rqm_qm:macAddress>55-55-55-55-55-55</rqm_qm:macAddress>
</rqm_qm:AutomationAdapter>
</rdf:RDF>
'Content-Type'='application/rdf+xml' 'OSLC-Core-Version'='2.0' 'accept'='application/rdf+xml'When I send this data I get a 400 Bad Request response, with the following content:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml-stylesheet type="text/xsl" href="https://ourserver.ourdomain.com:9443/qm/web/com.ibm.rqm.oslc.web/ui/internal/style/ErrorStyle.xsl"?> <rdf:RDF xmlns:jproc="http://jazz.net/xmlns/prod/jazz/process/1.0/" ...more namespaces...> <oslc:Error ns12:type="oslc:Error" xmlns:ns12="http://www.w3.org/2001/XMLSchema-instance">Unfortunately, there doesn't seem to be anything there at the moreInfo link, and I haven't been able to find much information about that error on the internet. Some IBM pages said that I should try again and then contact IBM software support. I though I would post here first to see if anybody has some insight.
<oslc:statusCode>400</oslc:statusCode>
<oslc:message>AQXCM5010E Client error executing POST https://ourserver.ourdomain.com:9443/qm/oslc_auto_test/contexts/_FDdKMWSnEeKaG85ccO8YgQ/resources/com.ibm.rqm.execution.ToolAdapter (400).</oslc:message>
<oslc:extendedError>
<oslc:ExtendedError>
<oslc:moreInfo rdf:resource="https://ourserver.ourdomain.com:9443/clmhelp/topic/com.ibm.messages.CLMic/AQXCM5010E.html"/>
<oslc:rel>alternate</oslc:rel>
</oslc:ExtendedError>
</oslc:extendedError>
<rqm_qm:clientLocale>en-us</rqm_qm:clientLocale>
</oslc:Error>
</rdf:RDF>
Thanks,
Elliot
Accepted answer
Without the extra semicolons and the case issues corrected, your RDF/XML is valid using http://www.w3.org/RDF/Validator. However, your namespaces are incorrect.
Comments
Hi Paul,
This looks like you found the issue. I modified all of my rqm_qm namespaces to rqm_auto, and I am now getting a different error. However, this one I think is just an access right problem.
The strange thing is that the namespace declarations are pretty clear on the walkthrough. That should probably be fixed so other people don't get confused like me.
Do you know if there is an official source for the namespace declarations for each property?
The Rational Quality Manager Test Automation Adapter API Reference is the source, which is incorrect. We will correct this issue under RQM Test Automation Adapter API Reference contains incorrect name spaces. (96053).