000030641 - 'The request could not be handled' error occurs when editing a Custom Report saved as a Template and Imported from another system in RSA Identity Governance & Lifecycle

Document created by RSA Customer Support Employee on Jun 14, 2016Last modified by RSA Customer Support on Aug 10, 2020
Version 3Show Document
  • View in full screen mode

Article Content

Article Number000030641
Applies ToRSA Product Set: RSA Identity Governance & Lifecycle 
RSA Version/Condition: 6.8.1, 6.9.0, 6.9.1, 7.0.1, 7.0.2, 7.1.0
IssueWhen attempting to edit a custom report (Reports > Tabular > {Report name} > General tab > Edit button) that has been imported into RSA Identity Governance & Lifecycle from another system (Admin > Import/Export > Import), the following error occurs and the report cannot be edited:

The request could not be handled

User-added image

The following errors are logged to the aveksaServer.log file:

2015-02-25 22:05:47,261 ERROR [com.aveksa.server.report.ReportServiceProvider]
FAILED method=getReport subTask=retrieving report by id [161]
com.aveksa.server.runtime.ServerException: java.lang.NullPointerException
        at com.aveksa.server.report.ReportServiceProvider.findReportByPrimaryKey(ReportServiceProvider.java:131)
        at com.aveksa.server.report.ReportServiceProvider.getReport(ReportServiceProvider.java:305)
        at com.aveksa.server.report.ReportServiceProvider.getReport(ReportServiceProvider.java:293)
        at com.aveksa.gui.objects.ObjectStore.getReport(ObjectStore.java:2452)
        at com.aveksa.gui.objects.ObjectStore.getReport(ObjectStore.java:2447)
        at com.aveksa.gui.objects.report.GuiReport.getTemplate(GuiReport.java:202)
        at com.aveksa.gui.pages.report.report_definition.detail.ReportDetailHelper.printContent(ReportDetailHelper.java:60)
        at com.aveksa.gui.pages.other.detailpopup.DetailHelper.printContent(DetailHelper.java:53)
        at com.aveksa.gui.pages.other.detailpopup.DetailHelper.printContent(DetailHelper.java:49)
        at com.aveksa.gui.pages.report.report_definition.detail.ReportPageView.printContent(ReportPageView.java:27)
        at com.aveksa.gui.pages.base.view.MainPageView.handleRequest(MainPageView.java:264)
        at com.aveksa.gui.pages.base.data.PageData.drawView(PageData.java:100)
        at com.aveksa.gui.pages.base.data.PageData.handleRequest(PageData.java:92)
        at com.aveksa.gui.pages.base.data.main.MainPageData.handleRequest(MainPageData.java:44)
        at com.aveksa.gui.pages.PageManager.forwardRequest(PageManager.java:559)
        at com.aveksa.gui.pages.PageManager.handleRequest(PageManager.java:384)
        at com.aveksa.gui.pages.PageManager.handleRequest(PageManager.java:254)
        at com.aveksa.gui.core.MainManager.handleRequest(MainManager.java:182)
        at com.aveksa.gui.core.MainManager.doGet(MainManager.java:131)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.aveksa.gui.core.filters.LoginFilter.doFilter(LoginFilter.java:67)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.aveksa.gui.util.security.XSSFilter.doFilter(XSSFilter.java:20)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
        at java.lang.Thread.run(Thread.java:701)
Caused by: java.lang.NullPointerException
        at com.aveksa.server.report.ReportServiceProvider.setNonPersistentValues(ReportServiceProvider.java:139)
        at com.aveksa.server.report.ReportServiceProvider.findReportByPrimaryKey(ReportServiceProvider.java:128)
        ... 45 more

Please refer to RSA Knowledge Base Article 000030327 -- Artifacts to gather in RSA Identity Governance & Lifecycle to find the location of the aveksaServer.log file for your specific version and platform. The aveksaServer.log may also be downloaded from the RSA Identity Governance & Lifecycle user interface (Admin > System > Server Nodes tab > under Logs.)
CauseThis is a known issue reported in engineering ticket ACM-52763.

This error occurs under the following two conditions:
  1. The report was created as a custom report on another system and saved as a template. (Reports > Tabular > Create Report > Save as Template)
  2. The report was then exported from the other system and imported into the current system.
The below error indicates that the report on the current system is unable to locate the report template that it is based on. Specifically the error in the above example:

retrieving report by id [161]

lists the internal ID of the report template that is missing. There is no report template with ID 161 on the current system because report templates are not exported when reports are exported.
ResolutionThis issue is resolved in the following RSA Identity Governance & Lifecycle versions and/or patch levels:
  • RSA Identity Governance & Lifecycle 7.0.2 P07
  • RSA Identity Governance & Lifecycle 7.1.0 P01
  • RSA Identity Governance & Lifecycle 7.1.1
The fix is to check for an already existing template when importing a report that has a template associated with it and if no such template exists, then treat the report as a custom report that was not saved as a template.
WorkaroundIf you are planning on exporting and importing reports between different machines, base reports on the standard report templates only and avoid exporting and importing reports that are based on custom report templates.

For existing reports that are based on custom templates you can dissociate the reports from the templates so that they can be exported and imported without errors.  This can be done by exporting and saving the report using the following method.
  1. Login onto the host system where your original report is located. 
  2. Under Reports > Tabular select the report that you want to migrate to another system.
  3. Edit the report (General tab > Edit).
  4. Select the Export button. This will export the report in JRXML format (format used for Jasper reports.)
  5. Under Reports > Tabular select the Create Report button.
  6. Create a new report using a name similar to the report just saved. 
  7. From the report editor menu choose Import, and select the report JRXML file you just exported.  
  8. The new report will now be dissociated from the template. It will also be missing sorting and filter criteria.
  9. Edit the new report to correct the sorting and filter criteria as necessary.
  10. Save the report by selecting OK.
  11. Go to Admin > Import/Export > Export and export the new report just created. This report will be exported in XML format.
  12. Import this report into the target system.  (Admin > Import/Export > Import).
The new report imported to the target system should be dissociated with the template and now work correctly.