RQM Copy Utility tool: test suite could not be copied
I was trying to copy a test suite from a RQM project area to another by using RQM Copy Utility tool.
The test cases and scripts associated with this test suite could be copied. But the test suite could not. And I got an error message while sending a put methode to create this test suite described below: SCHWERWIEGEND: RestException executing: PUT, RC: 500, message: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns2:Error xmlns:ns20="http://jazz.net/xmlns/alm/qm/styleinfo/v0.1/" xmlns:ns21="http://www.w3.org/1999/XSL/Transform" xmlns:ns10="http://jazz.net/xmlns/alm/qm/qmadapter/task/v0.1" xmlns:ns11="http://jazz.net/xmlns/alm/qm/qmadapter/v0.1" xmlns:ns12="http://jazz.net/xmlns/alm/qm/v0.1/executionworkitem/v0.1" xmlns:ns13="http://open-services.net/ns/core#" xmlns:ns14="http://open-services.net/ns/qm#" xmlns:ns15="http://jazz.net/xmlns/prod/jazz/rqm/process/1.0/" xmlns:ns16="http://www.w3.org/2002/07/owl#" xmlns:ns17="http://jazz.net/xmlns/alm/qm/v0.1/executionresult/v0.1" xmlns:ns18="http://jazz.net/xmlns/alm/qm/v0.1/catalog/v0.1" xmlns:ns1="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ns2="http://jazz.net/xmlns/alm/qm/v0.1/" xmlns:ns3="http://schema.ibm.com/vega/2008/" xmlns:ns4="http://purl.org/dc/elements/1.1/" xmlns:ns5="http://jazz.net/xmlns/prod/jazz/process/0.6/" xmlns:ns6="http://jazz.net/xmlns/alm/v0.1/" xmlns:ns7="http://purl.org/dc/terms/" xmlns:ns8="http://jazz.net/xmlns/alm/qm/v0.1/tsl/v0.1/" xmlns:ns9="http://jazz.net/xmlns/alm/qm/v0.1/testscript/v0.1/"> <ns2:statusCode>500</ns2:statusCode> <ns2:message>Internal server error</ns2:message> <ns2:trace>com.ibm.team.repository.common.TeamRepositoryException: The field "Application Name" is REQUIRED. at com.ibm.rqm.planning.service.internal.ColumnMappingService.assertRequiredCategories(ColumnMappingService.java:608) at com.ibm.rqm.planning.service.internal.ColumnMappingService.createCategoriesCollection(ColumnMappingService.java:222) at com.ibm.rqm.planning.service.internal.ColumnMappingService.manageCategoriesCollection(ColumnMappingService.java:307) at com.ibm.rqm.planning.service.internal.ColumnMappingService.replaceCategoriesCollectionNEW(ColumnMappingService.java:322) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at com.sun.proxy.$Proxy2852.replaceCategoriesCollectionNEW(Unknown Source) at com.ibm.rqm.planning.service.internal.rest.TestSuiteRestService.doPostTestSuite(TestSuiteRestService.java:867) at com.ibm.rqm.planning.service.internal.rest.TestSuiteRestService$3.run(TestSuiteRestService.java:625) at com.ibm.team.process.internal.common.advice.runtime.OperationAdviceManager.runOperation(OperationAdviceManager.java:1393) at com.ibm.team.process.internal.common.advice.runtime.OperationAdviceManager.advise(OperationAdviceManager.java:326) at com.ibm.team.process.internal.common.util.AbstractProcess.doAdvise(AbstractProcess.java:197) at com.ibm.team.process.internal.service.ServerProcess.access$2(ServerProcess.java:1) at com.ibm.team.process.internal.service.ServerProcess$2.run(ServerProcess.java:159) at com.ibm.team.repository.service.internal.PrimitiveTransactionService$3.run(PrimitiveTransactionService.java:167) at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runTransaction(RepositoryDatabase.java:384) at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runInTransaction(RepositoryDatabase.java:289) at com.ibm.team.repository.service.internal.PrimitiveTransactionService.runInTransaction(PrimitiveTransactionService.java:101) at com.ibm.team.repository.service.internal.PrimitiveTransactionService.runInTransaction(PrimitiveTransactionService.java:96) at sun.reflect.GeneratedMethodAccessor328.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at com.sun.proxy.$Proxy1692.runInTransaction(Unknown Source) at com.ibm.team.repository.service.internal.TransactionService.runInTransaction(TransactionService.java:37) at sun.reflect.GeneratedMethodAccessor451.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at com.sun.proxy.$Proxy1830.runInTransaction(Unknown Source) at com.ibm.team.process.internal.service.ProcessService.runInTransaction(ProcessService.java:4833) at com.ibm.team.process.internal.service.ProcessService.runInTransaction(ProcessService.java:4840) at com.ibm.team.process.internal.service.ServerProcess.adviseAndExecute(ServerProcess.java:156) at com.ibm.rqm.planning.service.internal.rest.TestSuiteRestService.postTestSuite(TestSuiteRestService.java:620) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at com.sun.proxy.$Proxy3446.postTestSuite(Unknown Source) at com.ibm.rqm.oslc.service.internal.integration.handler.put.TestSuitePutHandler.unmarshal(TestSuitePutHandler.java:429) at com.ibm.rqm.oslc.service.internal.integration.handler.put.TestSuitePutHandler.unmarshal(TestSuitePutHandler.java:1) at com.ibm.rqm.integration.handler.AbstractPutHandler.handle(AbstractPutHandler.java:159) at com.ibm.rqm.integration.handler.AbstractPostHandler.handle(AbstractPostHandler.java:83) at sun.reflect.GeneratedMethodAccessor1444.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at com.sun.proxy.$Proxy5462.handle(Unknown Source) at com.ibm.rqm.integration.service.internal.IntegrationService$2.run(IntegrationService.java:638) at com.ibm.rqm.common.service.internal.BucketLockService$1.run(BucketLockService.java:70) at com.ibm.team.repository.service.internal.PrimitiveTransactionService$3.run(PrimitiveTransactionService.java:167) at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$Transaction.run(RepositoryDatabase.java:568) at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$2.run(RepositoryDatabase.java:352) at com.ibm.team.repository.service.internal.rdb.ConnectionPoolService.withCurrentConnection(ConnectionPoolService.java:476) at sun.reflect.GeneratedMethodAccessor262.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at com.sun.proxy.$Proxy1139.withCurrentConnection(Unknown Source) at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runTransaction(RepositoryDatabase.java:349) at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runInTransaction(RepositoryDatabase.java:289) at com.ibm.team.repository.service.internal.PrimitiveTransactionService.runInTransaction(PrimitiveTransactionService.java:101) at com.ibm.team.repository.service.internal.PrimitiveTransactionService.runInTransaction(PrimitiveTransactionService.java:96) at sun.reflect.GeneratedMethodAccessor328.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at com.sun.proxy.$Proxy1692.runInTransaction(Unknown Source) at com.ibm.team.repository.service.internal.TransactionService.runInTransaction(TransactionService.java:37) at sun.reflect.GeneratedMethodAccessor451.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at com.sun.proxy.$Proxy1830.runInTransaction(Unknown Source) at com.ibm.rqm.common.service.internal.BucketLockService.runInTransaction(BucketLockService.java:63) at com.ibm.rqm.common.service.internal.BucketLockService.runInTransactionS(BucketLockService.java:203) at sun.reflect.GeneratedMethodAccessor1389.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at com.sun.proxy.$Proxy2326.runInTransactionS(Unknown Source) at com.ibm.rqm.integration.service.internal.IntegrationService.handleRequestInConfiguration(IntegrationService.java:633) at com.ibm.rqm.integration.service.internal.IntegrationService.access$0(IntegrationService.java:464) at com.ibm.rqm.integration.service.internal.IntegrationService$1.call(IntegrationService.java:369) at com.ibm.rqm.integration.service.internal.IntegrationService$1.call(IntegrationService.java:1) at com.ibm.team.repository.service.AbstractService.runWithActiveConfiguration(AbstractService.java:1060) at com.ibm.rqm.integration.service.internal.IntegrationService.handleRequest(IntegrationService.java:365) at com.ibm.rqm.integration.service.internal.IntegrationService.perform_PUT(IntegrationService.java:230) at com.ibm.team.repository.service.TeamRawService.service(TeamRawService.java:96) at sun.reflect.GeneratedMethodAccessor1443.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at com.sun.proxy.$Proxy3412.service(Unknown Source) at com.ibm.team.repository.servlet.AbstractTeamServerServlet.doRestService(AbstractTeamServerServlet.java:969) at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest2(AbstractTeamServerServlet.java:2520) at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest(AbstractTeamServerServlet.java:2315) at com.ibm.team.repository.servlet.AbstractTeamServerServlet.service(AbstractTeamServerServlet.java:1794) at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180) at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:76) at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120) at com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:74) at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1232) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:781) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:480) at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97) at com.ibm.team.repository.server.servletbridge.BridgeFilter.processDelegate(BridgeFilter.java:165) at com.ibm.team.repository.server.servletbridge.BridgeFilter.doFilter(BridgeFilter.java:198) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:967) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107) at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3926) at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1007) at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:287) at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:1049) at com.ibm.ws.ssl.channel.impl.SSLConnectionLink$MyReadCompletedCallback.complete(SSLConnectionLink.java:643) at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881) </ns2:trace> </ns2:Error> Could somebody help me with this? Thanks a lot! |
One answer
Thanks a lot, Brett and Donald!
I found the reason based on your tips. There is a required test suite category named "Application Name" in the destination project area, but there isn't one in the source. So, the test suite could not be saved in the destination because the value of "Application Name" is missing. Thanks again! :-) |
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.
Comments
Hi Shaojun,
I will run through this copy scenario but you have at least one required custom category for test suite called "Application Name" in the source project That custom category is required in the destination project as well (Manage Project Properties > Artifact Categories > Test Suite Categories).
Thanks,
Brett
Hi,
I have a required test suite category in sourceProject that I did not create in destinationProject and I ran this copy (from sourceProject to destinationProject on the same server):
C:\JazzServers\Adapters\RQM-Extras-RQMCopyUtil-6.0.1>java -jar RQMCopyUtility.jar -s=https://clmlocal.ibm.com:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/sourceProject -us=clmuser -pws=clmuser -d=https://clmlocal.ibm.com:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/destinationProject -a=testsuite,testcase -l=importlog.txt
test suites were copied over without the required test suite category. So I am not sure yet why your copy is failing.
Can you post your exact copy syntax? Can you confirm that you have required test suite categories?
Thanks,
Brett
Brett, I think the required attribute should be in the destination project, right? But I don't have the OP's problem either even though the imported test suites would indicate a missing required attribute.