Failed to import requirements with RQMExcelImporter
I'm using the RQMExcelImporter tool to import a list of requirements. When trying to import, I get following error in Mso2Rqm_Debug.log:
10/7/2011 9:54:04 AM: EXCEPTION: : Object reference not set to an instance of an object.
10/7/2011 9:54:04 AM: at Mso2Rqm_Common.RQMConnector.PutToServer(String url, String data)
at RQMExcelExporter.ExcelExportRepositoryDialog.doExport(IList`1 artifacts)
The errors I resolved so far are:
- update the admin/admin user/pw in RQM that points to RC to an existing user.
If I export the requirements to file, the exported requirement looks fine:
(with .txt extension) http://dl.dropbox.com/u/7202246/RQMExcelImporter/ReqID_001.txt
Can you give any ideas/suggestions to resolve this issue?
Please find below my config file and excel sheet.
Config file:
All other lines are commented out
Excel sheet with requirements:
http://dl.dropbox.com/u/7202246/RQMExcelImporter/ExcelWithRequirements.png
10/7/2011 9:54:04 AM: sending requirement0 named ReqID_001
10/7/2011 9:54:04 AM: ERROR: : RQMConnector: PutToServer - Error putting resource: https://xxxxx:9443/qm/secure/service/com.ibm.rqm.integration.service.IIntegrationService/resources/yyy/requirement/ReqID_001
10/7/2011 9:54:04 AM: EXCEPTION: : The remote server returned an error: (500) Internal Server Error.
10/7/2011 9:54:04 AM: at System.Net.HttpWebRequest.GetResponse()
at Mso2Rqm_Common.RQMConnector.PutToServer(String url, String data)
10/7/2011 9:54:04 AM: ERROR: : The remote server returned an error: (500) Internal Server Error.
10/7/2011 9:54:04 AM: Error sending to server ReqID_001 of type requirement
10/7/2011 9:54:04 AM: ERROR: : ExcelExportRepositoryDialog: Error saving to url https://xxxxx:9443/qm of type requirement
10/7/2011 9:54:04 AM: EXCEPTION: : Object reference not set to an instance of an object.
10/7/2011 9:54:04 AM: at Mso2Rqm_Common.RQMConnector.PutToServer(String url, String data)
at RQMExcelExporter.ExcelExportRepositoryDialog.doExport(IList`1 artifacts)
The errors I resolved so far are:
- update the admin/admin user/pw in RQM that points to RC to an existing user.
If I export the requirements to file, the exported requirement looks fine:
(with .txt extension) http://dl.dropbox.com/u/7202246/RQMExcelImporter/ReqID_001.txt
Can you give any ideas/suggestions to resolve this issue?
Please find below my config file and excel sheet.
Config file:
//---Requirements
//Start looking for requirements after row 2
requirement.XLSStartRow=2
requirement.XLSArtifactID=A
requirement.dc:title=B
requirement.dc:description=C
//requirement.jzalm:owner=D
//requirement.dc:creator=D
requirement.XLSDelimeter=\n
All other lines are commented out
Excel sheet with requirements:
20 answers
Here is an extract of the log content of the qm log on the server
22011-10-11 11:18:28,690 [ qm: AsynchronousTaskRunner-1] INFO com.ibm.rqm.buildintegration.service - class com.ibm.rqm.common.service.util.LogUtils:info AQXIN0004I RTC build auto task ended, taskId rtcBuildInformationCollector.
2011-10-11 11:18:44,345 [ http-9443-Processor449] ERROR com.ibm.rqm.oslc.service - Internal server error
com.ibm.team.repository.common.TeamRepositoryException: !RmProxiedReq_Name_Is_Required!
at com.ibm.rqm.transactional.handlers.RequirementPutHandler.unmarshalCalmRequirement(RequirementPutHandler.java:262)
at com.ibm.rqm.transactional.handlers.RequirementPutHandler.unmarshal(RequirementPutHandler.java:145)
at com.ibm.rqm.transactional.handlers.RequirementPutHandler.unmarshal(RequirementPutHandler.java:1)
at com.ibm.rqm.integration.handler.AbstractPutHandler.handle(AbstractPutHandler.java:115)
at com.ibm.rqm.integration.handler.AbstractPostHandler.handle(AbstractPostHandler.java:48)
at com.ibm.rqm.transactional.handlers.RequirementPutHandler.handle(RequirementPutHandler.java:504)
at sun.reflect.GeneratedMethodAccessor735.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
at $Proxy2105.handle(Unknown Source)
at com.ibm.rqm.integration.service.internal.IntegrationService.handleRequest(IntegrationService.java:472)
at com.ibm.rqm.integration.service.internal.IntegrationService.perform_PUT(IntegrationService.java:181)
at com.ibm.team.repository.service.TeamRawService.service(TeamRawService.java:94)
at sun.reflect.GeneratedMethodAccessor733.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
at $Proxy1480.service(Unknown Source)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.doRestService(AbstractTeamServerServlet.java:823)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest2(AbstractTeamServerServlet.java:1864)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest(AbstractTeamServerServlet.java:1723)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.service(AbstractTeamServerServlet.java:1632)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120)
at com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:76)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:393)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:811)
Please see footnote #2 at https://jazz.net/wiki/bin/view/Main/RQMExcelWordImporter#Supported_Resources.
This is exactly what I did:
There's one catch: if I edit the 'requirement composer user password' field in RQM and save the changes, the password still looks changed (with the length of the newly provided password).
However, when I refresh that properties page again, the password has its original length again.
Having a filled in a user/password combination that has access to the RC application should do it, no? Am I missing something?
Yes, that should suffice.
Make sure you click save and the save button is greyed out before clicking refresh.
This is excactly what I do, but it doesn't seem to fix the problem. I tried this before creating this thread and retested several times.
What about the password. Is it normal that saving a new password shows a masked new password with a length different from the one entered?
Thanks in advance.
The error message in the log implies that a name has not been provided for the requirement. Can you check to see a name has been provided for all the requirements?
Here is an extract of the log content of the qm log on the server
22011-10-11 11:18:28,690 [ qm: AsynchronousTaskRunner-1] INFO com.ibm.rqm.buildintegration.service - class com.ibm.rqm.common.service.util.LogUtils:info AQXIN0004I RTC build auto task ended, taskId rtcBuildInformationCollector.
2011-10-11 11:18:44,345 [ http-9443-Processor449] ERROR com.ibm.rqm.oslc.service - Internal server error
com.ibm.team.repository.common.TeamRepositoryException: !RmProxiedReq_Name_Is_Required!
at com.ibm.rqm.transactional.handlers.RequirementPutHandler.unmarshalCalmRequirement(RequirementPutHandler.java:262)
What concerns the password, how do I know if the password is correct? I'm able to connect with that user and password to the Jazz Team server. Is that sufficient?
About the requirement name you were right. I fixed this but I get the same result. I'm setting both the name and title now. Here is my new input:
config:
Is "requirement.dc:name=B" the correct way of setting the requirement name? (given that column B contains the something)
excel:
http://dl.dropbox.com/u/7202246/RQMExcelImporter/ExcelWithRequirements_2.png
Thanks in advance!
About the requirement name you were right. I fixed this but I get the same result. I'm setting both the name and title now. Here is my new input:
config:
//---Requirements
//Start looking for requirements after row 2
requirement.XLSStartRow=2
requirement.XLSArtifactID=A
requirement.dc:name=B
requirement.dc:title=B
requirement.dc:description=C
//requirement.jzalm:owner=D
//requirement.dc:creator=D
requirement.XLSDelimeter=\n
Is "requirement.dc:name=B" the correct way of setting the requirement name? (given that column B contains the something)
excel:
Thanks in advance!
page 1of 1 pagesof 2 pages