Unable to get testsuitelog : 400 Bad Request
I am able to retrieve other resources and list the testsuitelog. However, when I tried to follow the URL provided by the testsuitelog list, it returns 400 Bad Request. It used to work on RQM 4.0.1. However, after we upgraded the RQM to 4.0.3, it refused to work anymore.
I can use RQMUrlUtility to reproduce the issue easily:
java -jar RQMUrlUtility.jar -command GET -user <*****> -password <****> -context qm -filepath a.xml -url https://sdijazzqm08.svl.ibm.com:9447/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/<***project alias***>/testsuitelog/urn:com.ibm.rqm:testsuitelog:44550
On the server side, we found:
ERROR com.ibm.rqm.integration.service - AbstractGetHandler:handleResourceRequest AQXIN5006E An API GET operation encountered an error. Request URL: [Ljava.lang.Object;@1d211d21 Remote host: java.lang.NullPointerException
I can use RQMUrlUtility to reproduce the issue easily:
java -jar RQMUrlUtility.jar -command GET -user <*****> -password <****> -context qm -filepath a.xml -url https://sdijazzqm08.svl.ibm.com:9447/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/<***project alias***>/testsuitelog/urn:com.ibm.rqm:testsuitelog:44550
On the server side, we found:
ERROR com.ibm.rqm.integration.service - AbstractGetHandler:handleResourceRequest AQXIN5006E An API GET operation encountered an error. Request URL: [Ljava.lang.Object;@1d211d21 Remote host: java.lang.NullPointerException
Accepted answer
This is a new defect. Please open a RQM defect.
The work-around is to use disable pre-fetching of test resources:
Advanced Properties >>
The work-around is to use disable pre-fetching of test resources:
Advanced Properties >>
Comments
Yang Li
Sep 05 '13, 12:21 p.m.I did a few more tests and found that if I add ?abbreviate=true to the URL, RQM is able to return an abbreviated version of the testsuitelog. When abbreviate is not provided or set to false, 400 Bad Request will be returned.
Yang Li
Sep 05 '13, 10:22 p.m.Trace log on the server:
Caused by: java.lang.NullPointerException
at com.ibm.rqm.integration.handler.AbstractGetHandler.getQueryParameters(AbstractGetHandler.java:2875)
at com.ibm.rqm.integration.handler.AbstractGetHandler.prefetch(AbstractGetHandler.java:3345)
at com.ibm.rqm.oslc.service.internal.integration.handler.get.TestsuiteLogGetHandler.toJaxbSuiteElements(TestsuiteLogGetHandler.java:925)
at com.ibm.rqm.oslc.service.internal.integration.handler.get.TestsuiteLogGetHandler.marshal(TestsuiteLogGetHandler.java:444)
at com.ibm.rqm.oslc.service.internal.integration.handler.get.TestsuiteLogGetHandler.marshal(TestsuiteLogGetHandler.java:1)
at com.ibm.rqm.integration.handler.AbstractGetHandler$1.processItems(AbstractGetHandler.java:1648)
at com.ibm.rqm.common.service.util.ItemsVisitor.processItemsInternal(ItemsVisitor.java:24)
at com.ibm.rqm.common.service.util.ItemVisitor.fetchAndProcess(ItemVisitor.java:45)
at com.ibm.rqm.integration.handler.AbstractGetHandler.marshal(AbstractGetHandler.java:1679)
at com.ibm.rqm.integration.handler.AbstractGetHandler.handleResourceRequest(AbstractGetHandler.java:817)
... 54 more