It's all about the answers!

Ask a question

Unable to get testsuitelog : 400 Bad Request


Yang Li (611) | asked Sep 05 '13, 10:15 a.m.
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

Comments
Yang Li commented 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 commented 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

Accepted answer


permanent link
Paul Slauenwhite (8.4k12) | answered Sep 06 '13, 8:20 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
edited Sep 06 '13, 8:23 a.m.
This is a new defect.  Please open a RQM defect.

The work-around is to use disable pre-fetching of test resources:

Advanced Properties >> RQM Integration Component >> Allow Pre-fetching Requested RESTful Resource >> false
Yang Li selected this answer as the correct answer

Comments
Udaya Puthuraya commented Sep 06 '13, 10:21 a.m.

Thanks for the work around. We have implemented that,
Yang, Please  add the link to the RQM Defect you have opened here.

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.