Article Number
000036006
Applies To
RSA Product Set: RSA Identity Governance & Lifecycle
RSA Version/Condition: 7.0.1
Issue
When we export any report (custom or standard type) in Microsoft Excel file format (.xls), the system returns a blank file with no values in it, but if we use any other format to export the data, we are able to see the content in the exported file.
The following error can be seen in the aveksaServer.log while performing the export in .xls format:
01/15/2018 16:43:57.922 ERROR (default task-5) [com.aveksa.server.report.Report] Error in fillReportForExport java.lang.RuntimeException: java.io.IOException: No such file or directory
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createAndRegisterSXSSFSheet(SXSSFWorkbook.java:642)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:659)
at com.aveksa.server.report.RawDataExporter.createXlsFile(RawDataExporter.java:251)
at com.aveksa.server.report.RawDataExporter.exportReport(RawDataExporter.java:129)
at com.aveksa.server.report.Report.fillExportStream(Report.java:1451)
at com.aveksa.server.report.Report.fillReportForExport(Report.java:1734)
at com.aveksa.server.report.Report.saveAs(Report.java:1365)
at com.aveksa.gui.objects.report.GuiReport.print(GuiReport.java:747)
at com.aveksa.gui.pages.report.report_definition.export.ExportReportDialogData.handleSubmit(ExportReportDialogData.java:168)
at com.aveksa.gui.pages.report.report_definition.export.ExportReportDialogData.handleRequest(ExportReportDialogData.java:143)
at com.aveksa.gui.pages.PageManager.forwardRequest(PageManager.java:577)
at com.aveksa.gui.pages.PageManager.handleRequest(PageManager.java:341)
at com.aveksa.gui.pages.PageManager.handleRequest(PageManager.java:272)
at com.aveksa.gui.core.MainManager.handleRequest(MainManager.java:179)
at com.aveksa.gui.core.MainManager.doGet(MainManager.java:128)
at com.aveksa.gui.core.MainManager.doPost(MainManager.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:130)
at com.aveksa.gui.core.filters.LoginFilter.doFilter(LoginFilter.java:53)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
at com.aveksa.gui.util.security.XSSFilter.doFilter(XSSFilter.java:20)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:63)
at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)
at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:261)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:247)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:76)
at io.undertow.servlet.handlers.ServletInitialHandler$1$1.run(ServletInitialHandler.java:172)
at java.security.AccessController.doPrivileged(Native Method)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:169)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:197)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:759)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: No such file or directory
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createTempFile(File.java:2001)
at org.apache.poi.util.TempFile$DefaultTempFileCreationStrategy.createTempFile(TempFile.java:105)
at org.apache.poi.util.TempFile.createTempFile(TempFile.java:60)
at org.apache.poi.xssf.streaming.SheetDataWriter.createTempFile(SheetDataWriter.java:80)
at org.apache.poi.xssf.streaming.SheetDataWriter.(SheetDataWriter.java:63)
at org.apache.poi.xssf.streaming.SheetDataWriter.(SheetDataWriter.java:68)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheetDataWriter(SXSSFWorkbook.java:297)
at org.apache.poi.xssf.streaming.SXSSFSheet.(SXSSFSheet.java:68)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createAndRegisterSXSSFSheet(SXSSFWorkbook.java:638)
... 55 more
Cause
The system fails to create a tmp file which leads in creation of blank .xls reports.
Resolution
Upgrading to Version 7.0.2 P07 or Version 7.1.0 P01 will fix this issue.
Workaround
You should check for the directory /tmp/poifiles. If it does not exist, create it manually to fix the problem. Login as the oracle user and perform the following steps to overcome this issue:
# ll /tmp/poifiles
ls: cannot access /tmp/poifiles: No such file or directory
# mkdir /tmp/poifiles