You are not logged in.
Hallo.
Leider habe ich keine eindeutige Antwort darauf (Guides und Forum) gefunden.
Kann ich eine Web Service Datenquelle für BIRT verwenden?
Ich hätte eher gemeint nein.
Da unsere Software dies als einzige Schnittstelle anbieten kann, wäre das offenbar dann leider ein Knockout Kriterium für den Reportserver.
Warum ist das für BIRT überhaupt notwendig eine Datenquelle im Reportserver zu definieren?
Ich kann ja im .rptdesign file beliebig viele hinterlegen und könnte ja pro Report auch komplett unterschiedliche haben.
Vielen Dank & liebe Grüße,
Robert
Offline
Hallo Robert,
hier gibt es mindestens zwei Möglichkeiten. Zum einen kannst Du die in den .rptdesign Dateien angelegten Datenquellen nutzen. Wenn Du in ReportServer keine Datenquelle explizit auswählst,
werden die Datenquellen, die in der .rptdesign Datei festgelegt sind verwendet.
Die zweite Möglichkeit wäre den Web Service per Skript Datenquelle anzubinden. Wenn ihr aber bereits eine Datenquelle in der .rptdesign Datei habt, ist die obige Möglichkeit sicherlich die
einfachere.
Grüße
Arno
Offline
Hallo Arno,
vielen Dank für die schnelle Antwort.
Langsam lichtet sich der Nebel :-)
Ich dachte es liegt an der Datenquelle, dabei habe ich die Parameterverwaltung Seite übersehen und dann geht das in einem Dashboard auch nur mit der Kompletten Standardansicht.
Jetzt tut es wie es soll.
Vielen dank.
Offline
Hi Robert,
ja, wenn Du einen (Basis)-Birt Bericht mit Parametern im Dashboard einbindest wird das in aller Regel schief gehen, da die Parameter ungesetzt sind. Hierfür bietet sich dann entweder die volle Standardansicht an,
oder man erstellt für die gewünschte Parameterkonfiguration eine Variante und zeigt diese dann im Dashboard an.
Grüße
Arno
Offline
Hallo Arno.
Ich schaffe es leider nicht einen komplexeren (zb mit JS Funktionen oder erweitertem Data Binding) BIRT Report mit unserer Web Service Datenschnittstelle laufen zu lassen.
(Reports die zb auf die Demodatenbank (Classic Models) zugreifen funktionieren scheinbar problemlos.)
An den Parametern scheint es nicht zu liegen, das gilt für Reports mit oder ohne.
Während sie in Eclipse (4.4.2) problemlos dargestellt werden, bekomme ich im ReportServer immer nur einen 500er.
An der Schnittstelle selbst scheint es aber nicht zu liegen, wenn ich ein einfaches Datenset verwende kann der Report angezeigt werden.
Fehler: Der Bericht konnte nicht ausgeführt werden.
Der Bericht konnte nicht ausgeführt werden: net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorRuntimeException
Im Falle eines nicht nachvollziehbaren Fehlers kontaktieren Sie bitte einen Administrator.
Details
net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorException: Der Bericht konnte nicht ausgeführt werden: net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorRuntimeException 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.server.reportexport.ReportExportServlet.exeucteReport(ReportExportServlet.java:527) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.doExportReport(ReportExportServlet.java:407) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReport(ReportExportServlet.java:333) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReportViaSession(ReportExportServlet.java:326) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.doGet(ReportExportServlet.java:164) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$42a4592e.CGLIB$doGet$9() at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$42a4592e$$FastClassByGuice$$93138729.invoke() at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:66) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:110) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$42a4592e.doGet() at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$42a4592e.CGLIB$service$13() at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$42a4592e$$FastClassByGuice$$93138729.invoke() at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:110) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$42a4592e.service() at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263) at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178) at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62) at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:89) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118) at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorRuntimeException: net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorRuntimeException at net.datenwerke.rs.birt.service.reportengine.BirtReportEngine.executeReport(BirtReportEngine.java:83) at net.datenwerke.rs.birt.service.reportengine.BirtReportEngine.doExecute(BirtReportEngine.java:70) at net.datenwerke.rs.core.service.reportmanager.engine.ReportEngine.execute(ReportEngine.java:127) at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:186) ... 51 more Caused by: net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorRuntimeException at net.datenwerke.rs.birt.service.reportengine.output.generator.BirtHTMLOutputGenerator.exportReport(BirtHTMLOutputGenerator.java:45) at net.datenwerke.rs.birt.service.reportengine.sandbox.BirtEngineEnvironment.call(BirtEngineEnvironment.java:166) at net.datenwerke.rs.birt.service.reportengine.BirtReportEngine.executeReport(BirtReportEngine.java:81) ... 54 more Caused by: org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report. at org.eclipse.birt.report.engine.api.impl.EngineTask.handleFatalExceptions(EngineTask.java:2363) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:191) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77) at net.datenwerke.rs.birt.service.reportengine.output.generator.BirtHTMLOutputGenerator.exportReport(BirtHTMLOutputGenerator.java:33) ... 56 more Caused by: java.lang.NullPointerException at net.datenwerke.rs.birt.service.reportengine.FileServerServiceResourceLocator.findResource(FileServerServiceResourceLocator.java:76) at net.datenwerke.rs.birt.service.reportengine.FileServerServiceResourceLocator.findResource(FileServerServiceResourceLocator.java:53) at org.eclipse.birt.report.model.core.ModuleImpl.findResource(ModuleImpl.java:1304) at org.eclipse.birt.report.model.core.BundleHelper.findBundle(BundleHelper.java:164) at org.eclipse.birt.report.model.core.BundleHelper.getMessage(BundleHelper.java:149) at org.eclipse.birt.report.model.core.ModuleImpl.getMessage(ModuleImpl.java:938) at org.eclipse.birt.report.model.api.ModuleUtil.getExternalizedValue(ModuleUtil.java:794) at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java:674) at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processLabel(LocalizedContentVisitor.java:484) at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localizeLabel(LocalizedContentVisitor.java:463) at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java:180) at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:37) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65) at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140) at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:111) at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutNodes(HTMLInlineStackingLM.java:160) at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70) at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26) at org.eclipse.birt.report.engine.layout.html.HTMLRepeatHeaderLM.layoutChildren(HTMLRepeatHeaderLM.java:46) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92) at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:181) ... 58 more
Habt ihr eine Idee ?
Vielen Dank.
LG Robert
Last edited by Andorhal (2015-07-14 13:41:15)
Offline
Hallo Robert,
wenn ich das richtig sehe liegt es nicht an der Webservice-Datenquelle selbst sondern daran das beim Lden von Sprach-Resourcen was schief geht.
Prüfe doch bitte mal ob der birt library folder in reportenginges.cf korrekt eingestellt ist. (Und ich mach direkt nen Ticket für ne bessere Fehlermeldung)
Grüße
Thorsten