You are not logged in.
Hallo,
ich habe im ReportServer BIRT Reports hochgeladen und diese werden auch wie gewünscht angezeigt bzw. können wunderbar manuell per E-Mail versendet werden.
Möchte ich diese BIRT Reports nun aber automatisiert über den Scheduler versenden, erhalte ich folgende Fehlermeldung:
---
The execution of a scheduled report has failed.
Report: Test
Error message: net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorException: The report could not be executed: Guice provision errors:
1) Error in custom provider, com.google.inject.OutOfScopeException: Cannot access scoped object. Either we are not currently inside an HTTP Servlet request, or you may have forgotten to apply com.google.inject.servlet.GuiceFilter as a servlet filter for this request.
at net.datenwerke.rs.saiku.service.saiku.SaikuSessionContainer.class(SaikuSessionContainer.java:15)
while locating net.datenwerke.rs.saiku.service.saiku.SaikuSessionContainer
for parameter 5 at net.datenwerke.rs.saiku.service.saiku.reportengine.SaikuReportEngine.<init>(SaikuReportEngine.java:63)
while locating net.datenwerke.rs.saiku.service.saiku.reportengine.SaikuReportEngine
1 error
Recipient: ****
Error-Details: net.datenwerke.scheduler.service.scheduler.exceptions.JobExecutionException: net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorException: The report could not be executed: Guice provision errors:
1) Error in custom provider, com.google.inject.OutOfScopeException: Cannot access scoped object. Either we are not currently inside an HTTP Servlet request, or you may have forgotten to apply com.google.inject.servlet.GuiceFilter as a servlet filter for this request.
at net.datenwerke.rs.saiku.service.saiku.SaikuSessionContainer.class(SaikuSessionContainer.java:15)
while locating net.datenwerke.rs.saiku.service.saiku.SaikuSessionContainer
for parameter 5 at net.datenwerke.rs.saiku.service.saiku.reportengine.SaikuReportEngine.<init>(SaikuReportEngine.java:63)
while locating net.datenwerke.rs.saiku.service.saiku.reportengine.SaikuReportEngine
1 error
at net.datenwerke.rs.scheduler.service.scheduler.jobs.report.ReportExecuteJob.doExecute(ReportExecuteJob.java:140)
at net.datenwerke.scheduler.service.scheduler.entities.AbstractJob.execute(AbstractJob.java:184)
at net.datenwerke.scheduler.service.scheduler.tasks.SchedulerTask.executeJob(SchedulerTask.java:646)
at net.datenwerke.scheduler.service.scheduler.tasks.SchedulerTask.safeCall(SchedulerTask.java:208)
at net.datenwerke.scheduler.service.scheduler.tasks.SchedulerTask.call(SchedulerTask.java:103)
at net.datenwerke.scheduler.service.scheduler.tasks.SchedulerTask.call(SchedulerTask.java:1)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorException: The report could not be executed: Guice provision errors:
1) Error in custom provider, com.google.inject.OutOfScopeException: Cannot access scoped object. Either we are not currently inside an HTTP Servlet request, or you may have forgotten to apply com.google.inject.servlet.GuiceFilter as a servlet filter for this request.
at net.datenwerke.rs.saiku.service.saiku.SaikuSessionContainer.class(SaikuSessionContainer.java:15)
while locating net.datenwerke.rs.saiku.service.saiku.SaikuSessionContainer
for parameter 5 at net.datenwerke.rs.saiku.service.saiku.reportengine.SaikuReportEngine.<init>(SaikuReportEngine.java:63)
while locating net.datenwerke.rs.saiku.service.saiku.reportengine.SaikuReportEngine
1 error
at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:218)
at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:119)
at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:106)
at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:101)
at net.datenwerke.rs.scheduler.service.scheduler.jobs.report.ReportExecuteJob.doExecute(ReportExecuteJob.java:135)
... 9 more
Caused by: com.google.inject.ProvisionException: Guice provision errors:
1) Error in custom provider, com.google.inject.OutOfScopeException: Cannot access scoped object. Either we are not currently inside an HTTP Servlet request, or you may have forgotten to apply com.google.inject.servlet.GuiceFilter as a servlet filter for this request.
at net.datenwerke.rs.saiku.service.saiku.SaikuSessionContainer.class(SaikuSessionContainer.java:15)
while locating net.datenwerke.rs.saiku.service.saiku.SaikuSessionContainer
for parameter 5 at net.datenwerke.rs.saiku.service.saiku.reportengine.SaikuReportEngine.<init>(SaikuReportEngine.java:63)
while locating net.datenwerke.rs.saiku.service.saiku.reportengine.SaikuReportEngine
1 error
at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987)
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:177)
... 13 more
Caused by: com.google.inject.OutOfScopeException: Cannot access scoped object. Either we are not currently inside an HTTP Servlet request, or you may have forgotten to apply com.google.inject.servlet.GuiceFilter as a servlet filter for this request.
at com.google.inject.servlet.GuiceFilter.getContext(GuiceFilter.java:135)
at com.google.inject.servlet.GuiceFilter.getRequest(GuiceFilter.java:121)
at com.google.inject.servlet.ServletScopes$2$1.get(ServletScopes.java:114)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)
... 15 more
---
Das tritt bei allen BIRT Reports auf, auch bei einem BIRT Report, welcher lediglich ein Bezeichnungsfeld enthält.
Wo könnte hier der Fehler liegen?
Folgende Versionen sind installiert:
ReportServer: RS3.1.0-6010
Java: 1.8
Tomcat: 9.0.17
Grüße
Manuela
Offline
Hallo Manuela,
passiert das nur bei BIRT oder passiert das auch bei dynamischen Listen / Jasper ?
Grüße
Eduardo
Offline
Hallo Eduardo,
ein Test mit einer dynamischen Liste und Versand manuell per E-Mail klappt ebenfalls.
Ein Versand über den Scheduler liefert allerdings diesselbe Fehlermeldung wie bei BIRT.
Grüße
Manuela
Offline
Es hing wohl mit der Installation zusammen, denn nachdem ich die Anwendung samt Datenbank gelöscht und noch einmal neu installiert hatte, war ein Versenden von Reports über den Scheduler möglich.
Das Thema kann somit geschlossen werden.
Gruß
Manuela
Offline
Hallo Manuela,
wir können den Fehler sehen. Es handelt sich um einen Bug, auch wenn er momentan bei dir nicht zu sehen ist. Dazu habe ich Ticket RS-3732 erstellt. Das Problem habe ich bereits gefixed und es wird mit der nächsten Patch Version korrigiert sein.
Ich aktualisiere diesen Thread wenn wir das veröffentlichen.
Viele Grüße
Eduardo
Offline
Hallo Manuela,
wir haben heute die Version 3.1.0-6011 veröffentlicht. Dieser Bug ist hier behoben.
Viele Grüße
Eduardo
Offline
Hallo Manuela,
wegen eines Apache POI 4 Bugs haben wir heute die Version 3.1.0-6015 veröffentlicht, die den gefixten Bug enthält.
Viele Grüße
Eduardo
Offline