Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
Issues Running Reports with Weblogic Running as a Windows Service
mattsbr627
I have a number of BIRT reports embedded in my Weblogic 10.3 application running on Windows Server 2008. When running WebLogic from the command line, reports run successfully. However, when running WebLogic as a Windows Service, I get the errors posted below, and the report does not run. All input parameters are consistent between running in both modes, and I have tried running the Windows Service as administrator and still have the same problems. Any ideas?
Here are my errors:
Mar 17, 2011 9:18:58 AM org.eclipse.birt.core.internal.plugin.ScriptEngineFactoryManagerImpl createFactory
SEVERE: Plug-in "org.eclipse.birt.report.engine.script.javascript" was unable to instantiate class "org.eclipse.birt.report.engine.javascript.JavascriptEngineFactory".
org.eclipse.core.runtime.CoreException: Plug-in "org.eclipse.birt.report.engine.script.javascript" was unable to instantiate class "org.eclipse.birt.report.engine.javascript.JavascriptEngineFactory".
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:180)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174)
at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:874)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51)
at org.eclipse.birt.core.internal.plugin.ScriptEngineFactoryManagerImpl.createFactory(ScriptEngineFactoryManagerImpl.java:60)
at org.eclipse.birt.core.script.ScriptEngineFactoryManager.getScriptEngineFactory(ScriptEngineFactoryManager.java:50)
at org.eclipse.birt.core.script.ScriptContext.getScriptEngine(ScriptContext.java:222)
at org.eclipse.birt.report.engine.adapter.ModelDteApiAdapter.<init>(ModelDteApiAdapter.java:176)
at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.<init>(AbstractDataEngine.java:107)
at org.eclipse.birt.report.engine.data.dte.DteDataEngine.<init>(DteDataEngine.java:85)
at org.eclipse.birt.report.engine.data.DataEngineFactory.createDataEngine(DataEngineFactory.java:100)
at org.eclipse.birt.report.engine.executor.ExecutionContext.openDataEngine(ExecutionContext.java:843)
at org.eclipse.birt.report.engine.executor.ExecutionContext.getDataEngine(ExecutionContext.java:865)
at org.eclipse.birt.report.engine.executor.ReportExecutor.execute(ReportExecutor.java:123)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportExecutor.execute(WrappedReportExecutor.java:60)
at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplciateReportExecutor.execute(SuppressDuplciateReportExecutor.java:42)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportExecutor.execute(WrappedReportExecutor.java:60)
at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportExecutor.execute(LocalizedReportExecutor.java:61)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:168)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:75)
at com.smartsynch.util.BirtUtility.executeReport(BirtUtility.java:50)
at com.smartsynch.verticals.reporting.BirtRequestHandler.processReport(BirtRequestHandler.java:72)
at com.smartsynch.verticals.reporting.BirtRequestHandler.processRequest(BirtRequestHandler.java:40)
at com.smartsynch.core.control.RequestToEventTranslator.processRequest(RequestToEventTranslator.java:77)
at com.smartsynch.core.control.RequestProcessor.processRequest(RequestProcessor.java:83)
at com.smartsynch.core.Front.doGet(Front.java:108)
at com.smartsynch.core.Front.doPost(Front.java:144)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at com.smartsynch.core.LicenseFilter.doFilter(LicenseFilter.java:88)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.NoSuchMethodError: org.mozilla.javascript.Context.initStandardObjects()Lorg/mozilla/javascript/ScriptableObject;
at org.eclipse.birt.report.engine.javascript.JavascriptEngineFactory.<init>(JavascriptEngineFactory.java:72)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:170)
... 43 more
Mar 17, 2011 9:18:58 AM org.eclipse.birt.report.engine.api.impl.RunAndRenderTask doRun
SEVERE: An error happened while running the report. Cause:
java.lang.NullPointerException
at org.eclipse.birt.report.engine.executor.ReportExecutor.execute(ReportExecutor.java:123)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportExecutor.execute(WrappedReportExecutor.java:60)
at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplciateReportExecutor.execute(SuppressDuplciateReportExecutor.java:42)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportExecutor.execute(WrappedReportExecutor.java:60)
at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportExecutor.execute(LocalizedReportExecutor.java:61)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:168)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:75)
at com.smartsynch.util.BirtUtility.executeReport(BirtUtility.java:50)
at com.smartsynch.verticals.reporting.BirtRequestHandler.processReport(BirtRequestHandler.java:72)
at com.smartsynch.verticals.reporting.BirtRequestHandler.processRequest(BirtRequestHandler.java:40)
at com.smartsynch.core.control.RequestToEventTranslator.processRequest(RequestToEventTranslator.java:77)
at com.smartsynch.core.control.RequestProcessor.processRequest(RequestProcessor.java:83)
at com.smartsynch.core.Front.doGet(Front.java:108)
at com.smartsynch.core.Front.doPost(Front.java:144)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at com.smartsynch.core.LicenseFilter.doFilter(LicenseFilter.java:88)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
And here is a code fragment of when I prepare to run the report (it fails on the task.run() line). The EJBUtility methods are used to get dynamic values to run reports. They work when running in command prompt mode:
IReportRunnable design = null;
//Open the report design
design = engine.openReportDesign(EJBUtility.getProperty("birt.sourceReportsDirectory") + reportFileName);
IRunAndRenderTask task = engine.createRunAndRenderTask(design);
HTMLRenderOption options = new HTMLRenderOption();
options.setOutputFormat(HTMLRenderOption.OUTPUT_FORMAT_HTML);
options.setEmbeddable(true);
options.setImageDirectory(EJBUtility.getProperty("birt.imagesDirectory"));
options.setBaseImageURL(EJBUtility.getProperty("birt.baseImageUrl"));
options.setImageHandler(new HTMLServerImageHandler());
options.setActionHandler(new HTMLActionHandler());
ByteArrayOutputStream stringOutput = new ByteArrayOutputStream();
options.setOutputStream(stringOutput);
task.setRenderOption(options);
task.run();
Thanks in advance for any help!
Matt
Find more posts tagged with
Comments
mattsbr627
Out of curiosity, has anyone else gotten BIRT to successfully run embedded in a WebLogic environment with WebLogic running as a Windows Service?
mattsbr627
So I updated to BIRT 2.6.2, and now get the following stack trace. Does this help any?
org.eclipse.birt.report.engine.api.EngineException: Cant create data engine.
org.eclipse.birt.report.engine.executor.ExecutionContext.openDataEngine(ExecutionContext.java:874)
org.eclipse.birt.report.engine.executor.ExecutionContext.getDataEngine(ExecutionContext.java:886)
org.eclipse.birt.report.engine.executor.ReportExecutor.execute(ReportExecutor.java:122)
org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportExecutor.execute(WrappedReportExecutor.java:60)
org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplciateReportExecutor.execute(SuppressDuplciateReportExecutor.java:42)
org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportExecutor.execute(WrappedReportExecutor.java:60)
org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportExecutor.execute(LocalizedReportExecutor.java:61)
org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:178)
org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
(I omitted the portion from our sourcecode - this was pulled from a debugger).
Thanks,
Matt
vavesw
We have started our development of reports using BIRT 2.6.2 / Weblogic 10.0 / Linux
Anyone successfully running in this environment and any issue with weblogic ?