It's all about the answers!

Ask a question

RQMCopyUtil exception on copying artifacts


David Moss (171156) | asked Dec 10 '09, 11:42 a.m.
Trying to run a simple copy of all artifacts using the example in the RQMCopyUtility wiki. The command I'm running:

java -jar RQMCopyUtil.jar -s=https://myhost:9443/jazz/secure/service/com.ibm.rqm.integration.service.IIntegrationService/resources/AMI_Test_4 -us=myuserID -pws=mypassword -d=https://myhost:9443/jazz/secure/service/com.ibm.rqm.integration.service.IIntegrationService/resources/AMI_Parent -l=importlog.txt



"myhost", "mypassword", etc. replace the actual values.

I am able to successfully run commands against the jar (checking version, list all supported artifacts). However, the above command (and many variations of it) all spout out the following:

Dec 10, 2009 11:19:23 AM com.ibm.rqm.ct.util.Logger logInfo

INFO: Starting processing of artifact type: remotescript
Dec 10, 2009 11:19:23 AM com.ibm.rqm.ct.util.Logger logInfo
INFO: Reading feed for artifact type: remotescript
Dec 10, 2009 11:19:23 AM com.ibm.rqm.ct.util.Logger logInfo
INFO: Error received: 400, retry #: 0
Dec 10, 2009 11:19:53 AM com.ibm.rqm.ct.util.Logger logInfo
INFO: Error received: 400, retry #: 1
Dec 10, 2009 11:20:24 AM com.ibm.rqm.ct.util.Logger logInfo
INFO: Error received: 400, retry #: 2
Dec 10, 2009 11:20:54 AM com.ibm.rqm.ct.util.Logger logInfo
INFO: Error received: 400, retry #: 3
Dec 10, 2009 11:21:24 AM com.ibm.rqm.ct.util.Logger logInfo
INFO: Error received: 400, retry #: 4
Dec 10, 2009 11:21:54 AM com.ibm.rqm.ct.util.Logger logError
SEVERE: General REST Exception: RestException executing: GET Artifact Feed, RC: 400, message: <html><head><title>Apache Tomcat/5.5.23 - Error report</title><style><H1></style> </head><body><h1>HTTP Status 400 - </h1><HR><p><b>type</b> Status report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The request sent by the client was syntactically incorrect ().</u></p><HR><h3>Apache Tomcat/5.5.23</h3></body></html>


I've also tried using the non-SSL urls, but that creates an SSL handshake error and I've previously learned nearly all the utilities are written for SSL anyway.

Looking for insight into the exception and/or this "syntactically incorrect()" error.

Also, in the command prompt where the command is running, an additional message appears:

Dec 10, 2009 11:28:55 AM org.apache.commons.httpclient.HttpMethodDirector isRedirectNeeded
INFO: Redirect requested but followRedirects is disabled
Dec 10, 2009 11:28:55 AM org.apache.commons.httpclient.HttpMethodDirector isRedirectNeeded
INFO: Redirect requested but followRedirects is disabled

8 answers



permanent link
David Moss (171156) | answered Dec 10 '09, 1:25 p.m.
I found that I am able to browse to the services via URL for the server:

https://myserver:9443/jazz/secure/service/com.ibm.team.repository.service.ITeamServerStatusContentService/


This displays a long list of services, among which is the IIntegrationService used in the RQMCopyUtil.jar (link is for com.ibm.rqm.integration.service.IIntegrationService). That service is a html link, but clicking on it returns that syntax error.

HTTP Status 400
type: status report
message: <blank>
description: The request sent by the client was syntactically incorrect ().

Apache Tomcat/5.5.23

Any ideas why even this link is broken?

permanent link
David Moss (171156) | answered Dec 11 '09, 12:12 p.m.
Additional testing has revealed that the problem is actually due to renaming the source project in RQM:

1) Project names in RQM were changed because they originally had spaces in them, and the RQM online help recommends AGAINST this practice.
2) The RQMCopyUtility wiki states "you must use the project alias name if you have renamed your project area. The project alias name is the original name of the project."

--Calling the original name the alias is in itself confusing...this is due mainly to my interpretation, as I tend to think of an "alias" as a current name or any past name that is NOT the original.

--More importantly, there appears to be no record of what the project's original name was anywhere in the RQM administration web pages. I was able to run the RQMCopyUtility against the default "Quality Manager" project (which I would like to note has spaces in the name), which I feel rules out a problem with the services as previously suspected.

At this point, I need a method to locate the original name of an RQM project. The only way I seem to be able to get to it is directly querying the database, getting data from the table.field: ..

A method to get this info through the RQM admin website would be preferred. Otherwise, in a production environment there is additional work and approvals we'd have to perform to directly query the underlying database of a third-party product.

I would also recommend some type of warning be triggered when renaming a project.

permanent link
John Nason (2.4k1012) | answered Dec 11 '09, 2:40 p.m.
FORUM MODERATOR / JAZZ DEVELOPER
Hello,
Sorry for the confusion!
One way to see this project information, including aliases, is to use this feed:
https://:/jazz/secure/service/com.ibm.rqm.integration.service.IIntegrationService/projects
Here is the reference info on that feed service (fyi):
https://jazz.net/wiki/bin/view/Main/RqmApi#Project_Feed_Service

Hope that helps.
Regards,
John

Additional testing has revealed that the problem is actually due to renaming the source project in RQM:

1) Project names in RQM were changed because they originally had spaces in them, and the RQM online help recommends AGAINST this practice.
2) The RQMCopyUtility wiki states "you must use the project alias name if you have renamed your project area. The project alias name is the original name of the project."

--Calling the original name the alias is in itself confusing...this is due mainly to my interpretation, as I tend to think of an "alias" as a current name or any past name that is NOT the original.

--More importantly, there appears to be no record of what the project's original name was anywhere in the RQM administration web pages. I was able to run the RQMCopyUtility against the default "Quality Manager" project (which I would like to note has spaces in the name), which I feel rules out a problem with the services as previously suspected.

At this point, I need a method to locate the original name of an RQM project. The only way I seem to be able to get to it is directly querying the database, getting data from the table.field: ..

A method to get this info through the RQM admin website would be preferred. Otherwise, in a production environment there is additional work and approvals we'd have to perform to directly query the underlying database of a third-party product.

I would also recommend some type of warning be triggered when renaming a project.

permanent link
Ella Belisario (161) | answered Dec 07 '11, 8:52 a.m.
I'm having issue with RQMCopyUtility 3.0.1.1 when coping project that has spaces in the name alias. Is this supposed to work?

>java -jar RQMCopyUtility.jar -s=https://jazz.net/sandbox01-qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources
/belisar%27s+Project+%28Quality+Management%29 -us=myid -pws=xxxx -d=https://myhost:9443/qm/secure/service/com.ibm.rqm.integration.service.IIntegrationService/resources/SampleProject -ud=myid -pwd=xxxx -l=importlog.txt

com.ibm.rqm.ct.util.Logger logError SEVERE: java.lang.IllegalArgumentException: URL not valid, parsing hostname of:
https://jazz.net/sandbox01-qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/belisar%27s+Project+%28Quality+Management%29

permanent link
Paul Slauenwhite (8.4k12) | answered Dec 08 '11, 7:17 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
See https://jazz.net/jazz02/resource/itemName/com.ibm.team.workitem.WorkItem/53530.

permanent link
Ella Belisario (161) | answered Dec 12 '11, 3:57 p.m.
Thanks, Paul. That helps with spaces.

Actually, something else in that URL causing trouble - absence of port number. As the code in CopyUtil expects port number, I'm getting exception:
try {
host = url.substring(url.indexOf("//") + "//".length(), url.lastIndexOf(":"));
} catch (Exception e) {
throw new IllegalArgumentException("URL not valid, parsing hostname of: " + url);
}

permanent link
Paul Slauenwhite (8.4k12) | answered Dec 13 '11, 6:09 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
This is a defect. Please open a defect (https://jazz.net/jazz02/web/projects/Rational%20Quality%20Manager#action=com.ibm.team.workitem.newWorkItem).

permanent link
Ella Belisario (161) | answered Dec 14 '11, 6:11 p.m.
Thank you.

I created defect:
https://jazz.net/jazz02/web/projects/Rational%20Quality%20Manager#action=com.ibm.team.workitem.viewWorkItem&id=59816

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.