Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » BIRT » Loading reports from Classpath?
Loading reports from Classpath? [message #520004] Wed, 10 March 2010 18:15 Go to next message
Craig M is currently offline Craig MFriend
Messages: 19
Registered: July 2009
Junior Member
Is it possible to load report files from the Classpath? I would like to be able to package up my report files in my WAR for deployment. I am deploying to a shared hosting environment where I will not have easy access to the file system.
Re: Loading reports from Classpath? [message #520053 is a reply to message #520004] Thu, 11 March 2010 00:02 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Craig,

Are you using the Viewer? What app server is it being deployed to? The
Viewer war comes with two test reports already in the war. Do they work?

Jason

Craig M wrote:
> Is it possible to load report files from the Classpath? I would like to
> be able to package up my report files in my WAR for deployment. I am
> deploying to a shared hosting environment where I will not have easy
> access to the file system.
Re: Loading reports from Classpath? [message #520057 is a reply to message #520053] Thu, 11 March 2010 00:13 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Craig,

You can specify a url if you are using the viewer like:

http://localhost:8080/WebViewerExample/frameset?__report=htt p://localhost:8080/myreportcontext/myreport.rptdesign&sa mple=my+parameter


Jason


Jason Weathersby wrote:
> Craig,
>
> Are you using the Viewer? What app server is it being deployed to? The
> Viewer war comes with two test reports already in the war. Do they work?
>
> Jason
>
> Craig M wrote:
>> Is it possible to load report files from the Classpath? I would like
>> to be able to package up my report files in my WAR for deployment. I
>> am deploying to a shared hosting environment where I will not have
>> easy access to the file system.
Re: Loading reports from Classpath? [message #520062 is a reply to message #520057] Thu, 11 March 2010 01:45 Go to previous messageGo to next message
Craig M is currently offline Craig MFriend
Messages: 19
Registered: July 2009
Junior Member
If the report designs are served up like this, I assume the library files must also be accessible. If my library includes database connection credentials, this creates a nasty security hole. Sure I can use the JNDI data source, but then I can not test from within the Eclipse report designer.

Being able to load reports off of a classpath location (ie, a package directory) would solve both of my problems (limited filesystem access, and security).

Jason Weathersby wrote on Wed, 10 March 2010 19:13
Craig,

You can specify a url if you are using the viewer like:

http://localhost:8080/WebViewerExample/frameset?__report=htt p://localhost:8080/myreportcontext/myreport.rptdesign&sa mple=my+parameter


Jason


Jason Weathersby wrote:
> Craig,
>
> Are you using the Viewer? What app server is it being deployed to? The
> Viewer war comes with two test reports already in the war. Do they work?
>
> Jason
>
> Craig M wrote:
>> Is it possible to load report files from the Classpath? I would like
>> to be able to package up my report files in my WAR for deployment. I
>> am deploying to a shared hosting environment where I will not have
>> easy access to the file system.

Re: Loading reports from Classpath? [message #520063 is a reply to message #520053] Thu, 11 March 2010 02:00 Go to previous messageGo to next message
Craig M is currently offline Craig MFriend
Messages: 19
Registered: July 2009
Junior Member
Jason Weathersby wrote on Wed, 10 March 2010 19:02
Craig,

Are you using the Viewer? What app server is it being deployed to? The
Viewer war comes with two test reports already in the war. Do they work?

Jason


We are deploying to WebLogic. I have not tried the viewer war yet, but I will do that and get back to you. However, I assume the answer is in how the engine.openReportDesign("relative/path/to/file.rptdesign") behaves when setup as per the Servlet Integration example. Where does it look for that file?
Re: Loading reports from Classpath? [message #520244 is a reply to message #520063] Thu, 11 March 2010 16:45 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Look at the web.xml for the working folder. You can also set the folder
for the resource directory for libraries.

Jason

Craig M wrote:
> Jason Weathersby wrote on Wed, 10 March 2010 19:02
>> Craig,
>>
>> Are you using the Viewer? What app server is it being deployed to?
>> The Viewer war comes with two test reports already in the war. Do
>> they work?
>>
>> Jason
>
>
> We are deploying to WebLogic. I have not tried the viewer war yet, but I
> will do that and get back to you. However, I assume the answer is in how
> the engine.openReportDesign("relative/path/to/file.rptdesign") behaves
> when setup as per the Servlet Integration example. Where does it look
> for that file?
>
Re: Loading reports from Classpath? [message #520302 is a reply to message #520053] Thu, 11 March 2010 20:47 Go to previous messageGo to next message
Craig M is currently offline Craig MFriend
Messages: 19
Registered: July 2009
Junior Member
Jason Weathersby wrote on Wed, 10 March 2010 19:02
Craig,

Are you using the Viewer? What app server is it being deployed to? The
Viewer war comes with two test reports already in the war. Do they work?

Jason



Well, I tried deploying birt.war from the runtime distribution into my WebLogic instance. For some reason, when I try to access a report, I get ClassNotFoundException for Commons Logging LogFactory. It looks like the web app is not loading classes from its own WEB-INF/lib, which I find very odd.
Re: Loading reports from Classpath? [message #520317 is a reply to message #520302] Thu, 11 March 2010 21:40 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Craig,

Take a look at the Tomcat 6 note here:
http://www.eclipse.org/birt/phoenix/deploy/viewerSetup.php#u sing

Jason

Craig M wrote:
> Jason Weathersby wrote on Wed, 10 March 2010 19:02
>> Craig,
>>
>> Are you using the Viewer? What app server is it being deployed to?
>> The Viewer war comes with two test reports already in the war. Do
>> they work?
>>
>> Jason
>
>
> Well, I tried deploying birt.war from the runtime distribution into my
> WebLogic instance. For some reason, when I try to access a report, I get
> ClassNotFoundException for Commons Logging LogFactory. It looks like the
> web app is not loading classes from its own WEB-INF/lib, which I find
> very odd.
>
Re: Loading reports from Classpath? [message #520561 is a reply to message #520317] Fri, 12 March 2010 19:58 Go to previous messageGo to next message
Craig M is currently offline Craig MFriend
Messages: 19
Registered: July 2009
Junior Member
OK, I am able to get this to deploy fine in Jetty (I have to include the commons logging lib just like for Tomcat), but on WebLogic I get the following error:

Error 500--Internal Server Error 
java.lang.NoClassDefFoundError: Could not initialize class org.eclipse.birt.report.servlet.ViewerServlet
	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 weblogic.servlet.internal.WebComponentContributor.getNewInstance(WebComponentContributor.java:225)
	at weblogic.servlet.internal.WebComponentContributor.createServletInstance(WebComponentContributor.java:249)
	at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:255)
	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
	at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
	at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
	at weblogic.servlet.internal.StubLifecycleHelper.(StubLifecycleHelper.java:48)
	at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:531)
	at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:235)
	at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
	at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
	at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
	at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
	at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
	at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
	at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) 


I have openned the birt.war and confirmed that the viewservlets.jar file is in WEB-INF/lib and contains the ViewerServlet class. As fate would have it, Google returns only 1 result for this specific error, a 2 year old post on Birt Exchange with no solutions. Ironic is the fact that the OP had the error with Jetty.
Re: Loading reports from Classpath? [message #520569 is a reply to message #520561] Fri, 12 March 2010 20:31 Go to previous messageGo to next message
Craig M is currently offline Craig MFriend
Messages: 19
Registered: July 2009
Junior Member
OK, here is some additional mystery. When I deploy with Jetty, if I go straight to the /birt/frameset?.... url for the report, I get this same NoClassDefFoundError on ViewerServlet. If I try to go to the index page at this point, it shows me a directory listing instead, with only WEB-INF and logs showing. Its like the deployment failed once the NoClassDefFoundError ocurred.

OK, so I shutdown Jetty, restart, go to the index page "/birt". Click on the link to the frameset URL....works perfectly. Am I crazy?

[Updated on: Fri, 12 March 2010 20:33]

Report message to a moderator

Re: Loading reports from Classpath? [message #520577 is a reply to message #520569] Fri, 12 March 2010 21:30 Go to previous messageGo to next message
Craig M is currently offline Craig MFriend
Messages: 19
Registered: July 2009
Junior Member
OK, so I have repackaged birt.war with commons-logging in its WEB-INF lib. The report viewer now shows up, but test.rptdesign is not working. I get the following error dialog:

"The viewing session is not available or has expired."

There is no stack trace.
Re: Loading reports from Classpath? [message #520810 is a reply to message #520577] Mon, 15 March 2010 12:57 Go to previous messageGo to next message
Craig M is currently offline Craig MFriend
Messages: 19
Registered: July 2009
Junior Member
This is really getting frustrating now. Restarting IE fixed the session problem, but the viewer now gets an error with the following stack trace:

Stack Trace:
 
org.eclipse.birt.report.engine.api.EngineException
   at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1163)
   at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1115)
   at org.eclipse.birt.report.engine.executor.ExecutionContext.openDataEngine(ExecutionContext.java:809)
   at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:211)
   at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:82)
   at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1263)
   at org.eclipse.birt.report.service.BirtViewerReportService.runReport(BirtViewerReportService.java:158)
   at org.eclipse.birt.report.service.actionhandler.BirtRunReportActionHandler.__execute(BirtRunReportActionHandler.java:81)
   at org.eclipse.birt.report.service.actionhandler.BirtGetPageActionHandler.__checkDocumentExists(BirtGetPageActionHandler.java:58)
   at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.prepareParameters(AbstractGetPageActionHandler.java:119)
   at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.__execute(AbstractGetPageActionHandler.java:104)
   at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
   at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)
   at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143)
   at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleGetPage(BirtDocumentProcessor.java:87)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112)
   at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
   at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
   at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
   at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
   at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
   at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
   at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
   at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
   at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
   at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
   at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
   at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
   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:56)
   at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)
   at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
   at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
   at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
   at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
   at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
   at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
   at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
   at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
   at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: org.eclipse.birt.core.exception.BirtException
   at org.eclipse.birt.core.script.ScriptContext.getScriptEngine(ScriptContext.java:225)
   at org.eclipse.birt.report.engine.adapter.ModelDteApiAdapter.(ModelDteApiAdapter.java:177)
   at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.(AbstractDataEngine.java:103)
   at org.eclipse.birt.report.engine.data.dte.DteDataEngine.(DteDataEngine.java:109)
   at org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.(DataGenerationEngine.java:40)
   at org.eclipse.birt.report.engine.data.DataEngineFactory.createDataEngine(DataEngineFactory.java:86)
   at org.eclipse.birt.report.engine.executor.ExecutionContext.openDataEngine(ExecutionContext.java:804)
... 51 more


--------------------------------------------------------------------------------

org.eclipse.birt.report.engine.api.EngineException
   at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1163)
   at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1115)
   at org.eclipse.birt.report.engine.executor.ExecutionContext.openDataEngine(ExecutionContext.java:809)
   at org.eclipse.birt.report.engine.executor.ExecutionContext.getDataEngine(ExecutionContext.java:826)
   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.emitter.ReportEmitterExecutor.execute(ReportEmitterExecutor.java:77)
   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.presentation.ReportDocumentBuilder.build(ReportDocumentBuilder.java:234)
   at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:243)
   at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:82)
   at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1263)
   at org.eclipse.birt.report.service.BirtViewerReportService.runReport(BirtViewerReportService.java:158)
   at org.eclipse.birt.report.service.actionhandler.BirtRunReportActionHandler.__execute(BirtRunReportActionHandler.java:81)
   at org.eclipse.birt.report.service.actionhandler.BirtGetPageActionHandler.__checkDocumentExists(BirtGetPageActionHandler.java:58)
   at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.prepareParameters(AbstractGetPageActionHandler.java:119)
   at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.__execute(AbstractGetPageActionHandler.java:104)
   at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
   at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)
   at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143)
   at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleGetPage(BirtDocumentProcessor.java:87)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112)
   at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
   at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
   at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
   at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
   at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
   at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
   at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
   at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
   at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
   at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
   at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
   at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
   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:56)
   at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)
   at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
   at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
   at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
   at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
   at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
   at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
   at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
   at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
   at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: org.eclipse.birt.core.exception.BirtException
   at org.eclipse.birt.core.script.ScriptContext.getScriptEngine(ScriptContext.java:225)
   at org.eclipse.birt.report.engine.adapter.ModelDteApiAdapter.(ModelDteApiAdapter.java:177)
   at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.(AbstractDataEngine.java:103)
   at org.eclipse.birt.report.engine.data.dte.DteDataEngine.(DteDataEngine.java:109)
   at org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.(DataGenerationEngine.java:40)
   at org.eclipse.birt.report.engine.data.DataEngineFactory.createDataEngine(DataEngineFactory.java:86)
   at org.eclipse.birt.report.engine.executor.ExecutionContext.openDataEngine(ExecutionContext.java:804)
... 58 more
Re: Loading reports from Classpath? [message #520840 is a reply to message #520810] Mon, 15 March 2010 14:58 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Craig,

In the web.xml there is a setting to enable logging and a location. Can
you set the log level to FINE and post the log? Also what version of WL
are you using?

Jason

Craig M wrote:
> This is really getting frustrating now. Restarting IE fixed the session
> problem, but the viewer now gets an error with the following stack trace:
>
> Stack Trace:
>
> org.eclipse.birt.report.engine.api.EngineException
> at
> org.eclipse.birt.report.engine.executor.ExecutionContext.add Exception(ExecutionContext.java:1163)
>
> at
> org.eclipse.birt.report.engine.executor.ExecutionContext.add Exception(ExecutionContext.java:1115)
>
> at
> org.eclipse.birt.report.engine.executor.ExecutionContext.ope nDataEngine(ExecutionContext.java:809)
>
> at
> org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTas k.java:211)
> at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask. java:82)
> at
> org.eclipse.birt.report.service.ReportEngineService.runRepor t(ReportEngineService.java:1263)
>
> at
> org.eclipse.birt.report.service.BirtViewerReportService.runR eport(BirtViewerReportService.java:158)
>
> at
> org.eclipse.birt.report.service.actionhandler.BirtRunReportA ctionHandler.__execute(BirtRunReportActionHandler.java:81)
>
> at
> org.eclipse.birt.report.service.actionhandler.BirtGetPageAct ionHandler.__checkDocumentExists(BirtGetPageActionHandler.ja va:58)
>
> at
> org.eclipse.birt.report.service.actionhandler.AbstractGetPag eActionHandler.prepareParameters(AbstractGetPageActionHandle r.java:119)
>
> at
> org.eclipse.birt.report.service.actionhandler.AbstractGetPag eActionHandler.__execute(AbstractGetPageActionHandler.java:1 04)
>
> at
> org.eclipse.birt.report.service.actionhandler.AbstractBaseAc tionHandler.execute(AbstractBaseActionHandler.java:90)
>
> at
> org.eclipse.birt.report.soapengine.processor.AbstractBaseDoc umentProcessor.__executeAction(AbstractBaseDocumentProcessor .java:47)
>
> at
> org.eclipse.birt.report.soapengine.processor.AbstractBaseCom ponentProcessor.executeAction(AbstractBaseComponentProcessor .java:143)
>
> at
> org.eclipse.birt.report.soapengine.processor.BirtDocumentPro cessor.handleGetPage(BirtDocumentProcessor.java:87)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
>
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.eclipse.birt.report.soapengine.processor.AbstractBaseCom ponentProcessor.process(AbstractBaseComponentProcessor.java: 112)
>
> at
> org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingI mpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
>
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCP rovider.java:397)
>
> at
> org.apache.axis.providers.java.RPCProvider.processMessage(RP CProvider.java:186)
>
> at
> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvi der.java:323)
> at
> org.apache.axis.strategies.InvocationStrategy.visit(Invocati onStrategy.java:32)
>
> at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
> at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
> at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService .java:454)
> at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281 )
> at
> org.apache.axis.transport.http.AxisServlet.doPost(AxisServle t.java:699)
> at
> org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherSer vlet.doPost(BirtSoapMessageDispatcherServlet.java:265)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> at
> org.apache.axis.transport.http.AxisServletBase.service(AxisS ervletBase.java:327)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at
> org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherSer vlet.service(BirtSoapMessageDispatcherServlet.java:122)
>
> at
> weblogic.servlet.internal.StubSecurityHelper$ServletServiceA ction.run(StubSecurityHelper.java:227)
>
> at
> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(S tubSecurityHelper.java:125)
>
> at
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStu bImpl.java:292)
> at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.jav a:26)
> at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterCha inImpl.java:56)
> at
> org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerF ilter.java:68)
> at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterCha inImpl.java:56)
> at
> weblogic.servlet.internal.WebAppServletContext$ServletInvoca tionAction.run(WebAppServletContext.java:3592)
>
> at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(Aut henticatedSubject.java:321)
>
> at
> weblogic.security.service.SecurityManager.runAs(SecurityMana ger.java:121)
> at
> weblogic.servlet.internal.WebAppServletContext.securedExecut e(WebAppServletContext.java:2202)
>
> at
> weblogic.servlet.internal.WebAppServletContext.execute(WebAp pServletContext.java:2108)
>
> at
> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequ estImpl.java:1432)
>
> at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
> at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
> Caused by: org.eclipse.birt.core.exception.BirtException
> at
> org.eclipse.birt.core.script.ScriptContext.getScriptEngine(S criptContext.java:225)
>
> at
> org.eclipse.birt.report.engine.adapter.ModelDteApiAdapter.(M odelDteApiAdapter.java:177)
>
> at
> org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.( AbstractDataEngine.java:103)
>
> at
> org.eclipse.birt.report.engine.data.dte.DteDataEngine.(DteDa taEngine.java:109)
>
> at
> org.eclipse.birt.report.engine.data.dte.DataGenerationEngine .(DataGenerationEngine.java:40)
>
> at
> org.eclipse.birt.report.engine.data.DataEngineFactory.create DataEngine(DataEngineFactory.java:86)
>
> at
> org.eclipse.birt.report.engine.executor.ExecutionContext.ope nDataEngine(ExecutionContext.java:804)
>
> .. 51 more
>
>
> ------------------------------------------------------------ --------------------
>
>
> org.eclipse.birt.report.engine.api.EngineException
> at
> org.eclipse.birt.report.engine.executor.ExecutionContext.add Exception(ExecutionContext.java:1163)
>
> at
> org.eclipse.birt.report.engine.executor.ExecutionContext.add Exception(ExecutionContext.java:1115)
>
> at
> org.eclipse.birt.report.engine.executor.ExecutionContext.ope nDataEngine(ExecutionContext.java:809)
>
> at
> org.eclipse.birt.report.engine.executor.ExecutionContext.get DataEngine(ExecutionContext.java:826)
>
> at
> org.eclipse.birt.report.engine.executor.ReportExecutor.execu te(ReportExecutor.java:123)
>
> at
> org.eclipse.birt.report.engine.internal.executor.wrap.Wrappe dReportExecutor.execute(WrappedReportExecutor.java:60)
>
> at
> org.eclipse.birt.report.engine.internal.executor.emitter.Rep ortEmitterExecutor.execute(ReportEmitterExecutor.java:77)
>
> at
> org.eclipse.birt.report.engine.internal.executor.wrap.Wrappe dReportExecutor.execute(WrappedReportExecutor.java:60)
>
> at
> org.eclipse.birt.report.engine.internal.executor.dup.Suppres sDuplciateReportExecutor.execute(SuppressDuplciateReportExec utor.java:42)
>
> at
> org.eclipse.birt.report.engine.presentation.ReportDocumentBu ilder.build(ReportDocumentBuilder.java:234)
>
> at
> org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTas k.java:243)
> at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask. java:82)
> at
> org.eclipse.birt.report.service.ReportEngineService.runRepor t(ReportEngineService.java:1263)
>
> at
> org.eclipse.birt.report.service.BirtViewerReportService.runR eport(BirtViewerReportService.java:158)
>
> at
> org.eclipse.birt.report.service.actionhandler.BirtRunReportA ctionHandler.__execute(BirtRunReportActionHandler.java:81)
>
> at
> org.eclipse.birt.report.service.actionhandler.BirtGetPageAct ionHandler.__checkDocumentExists(BirtGetPageActionHandler.ja va:58)
>
> at
> org.eclipse.birt.report.service.actionhandler.AbstractGetPag eActionHandler.prepareParameters(AbstractGetPageActionHandle r.java:119)
>
> at
> org.eclipse.birt.report.service.actionhandler.AbstractGetPag eActionHandler.__execute(AbstractGetPageActionHandler.java:1 04)
>
> at
> org.eclipse.birt.report.service.actionhandler.AbstractBaseAc tionHandler.execute(AbstractBaseActionHandler.java:90)
>
> at
> org.eclipse.birt.report.soapengine.processor.AbstractBaseDoc umentProcessor.__executeAction(AbstractBaseDocumentProcessor .java:47)
>
> at
> org.eclipse.birt.report.soapengine.processor.AbstractBaseCom ponentProcessor.executeAction(AbstractBaseComponentProcessor .java:143)
>
> at
> org.eclipse.birt.report.soapengine.processor.BirtDocumentPro cessor.handleGetPage(BirtDocumentProcessor.java:87)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
>
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.eclipse.birt.report.soapengine.processor.AbstractBaseCom ponentProcessor.process(AbstractBaseComponentProcessor.java: 112)
>
> at
> org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingI mpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
>
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCP rovider.java:397)
>
> at
> org.apache.axis.providers.java.RPCProvider.processMessage(RP CProvider.java:186)
>
> at
> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvi der.java:323)
> at
> org.apache.axis.strategies.InvocationStrategy.visit(Invocati onStrategy.java:32)
>
> at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
> at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
> at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService .java:454)
> at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281 )
> at
> org.apache.axis.transport.http.AxisServlet.doPost(AxisServle t.java:699)
> at
> org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherSer vlet.doPost(BirtSoapMessageDispatcherServlet.java:265)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> at
> org.apache.axis.transport.http.AxisServletBase.service(AxisS ervletBase.java:327)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at
> org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherSer vlet.service(BirtSoapMessageDispatcherServlet.java:122)
>
> at
> weblogic.servlet.internal.StubSecurityHelper$ServletServiceA ction.run(StubSecurityHelper.java:227)
>
> at
> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(S tubSecurityHelper.java:125)
>
> at
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStu bImpl.java:292)
> at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.jav a:26)
> at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterCha inImpl.java:56)
> at
> org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerF ilter.java:68)
> at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterCha inImpl.java:56)
> at
> weblogic.servlet.internal.WebAppServletContext$ServletInvoca tionAction.run(WebAppServletContext.java:3592)
>
> at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(Aut henticatedSubject.java:321)
>
> at
> weblogic.security.service.SecurityManager.runAs(SecurityMana ger.java:121)
> at
> weblogic.servlet.internal.WebAppServletContext.securedExecut e(WebAppServletContext.java:2202)
>
> at
> weblogic.servlet.internal.WebAppServletContext.execute(WebAp pServletContext.java:2108)
>
> at
> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequ estImpl.java:1432)
>
> at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
> at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
> Caused by: org.eclipse.birt.core.exception.BirtException
> at
> org.eclipse.birt.core.script.ScriptContext.getScriptEngine(S criptContext.java:225)
>
> at
> org.eclipse.birt.report.engine.adapter.ModelDteApiAdapter.(M odelDteApiAdapter.java:177)
>
> at
> org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.( AbstractDataEngine.java:103)
>
> at
> org.eclipse.birt.report.engine.data.dte.DteDataEngine.(DteDa taEngine.java:109)
>
> at
> org.eclipse.birt.report.engine.data.dte.DataGenerationEngine .(DataGenerationEngine.java:40)
>
> at
> org.eclipse.birt.report.engine.data.DataEngineFactory.create DataEngine(DataEngineFactory.java:86)
>
> at
> org.eclipse.birt.report.engine.executor.ExecutionContext.ope nDataEngine(ExecutionContext.java:804)
>
> .. 58 more
Re: Loading reports from Classpath? [message #520941 is a reply to message #520840] Mon, 15 March 2010 21:23 Go to previous messageGo to next message
Craig M is currently offline Craig MFriend
Messages: 19
Registered: July 2009
Junior Member
OK, I found the source of the problem, and when I am done I will check the 2.5.2 code and if this has not been fixed, I will submit a bug report.

The source of the problem is the following code in ScriptEngineFactoryManager.java (version 2.5.1):

	synchronized public IScriptEngineFactory getScriptEngineFactory(
			String language )
	{
		if ( factories.containsKey( language ) )
		{
			return factories.get( language );
		}
		IScriptEngineFactory factory = createFactory( language );
		factories.put( language, factory );
		return factory;
	}


The factories.get(language) call returns null for language = "javascript". Debugging this, the factories Map contains key "javascript", but its value is null. I am assuming this is a classloading issue. As it turns out, the weblogic.xml descriptor packaged in the birt.war is having no effect, so jars in the WEB-INF/lib are not being preferred over container jars. Sure enough, the rhino classes are in weblogic.jar. I used Eclipse webtools to generate a new weblogic.xml and test.rptdesign works great (test1.rptdesign gives an error, though...baby steps).

Now, the NPE is clearly a code path that should be handled. I'm going to file a bug report, but I'll go ahead and explain it here. The above code returns null to the following block in ScriptContext.getScriptEngine(String):
		IScriptEngineFactory factory = ScriptEngineFactoryManager.getInstance( )
				.getScriptEngineFactory( scriptName );
		if ( factory == null )
		{
			throw new BirtException( "No such script extension : " + scriptName );
		}


...but this exception is swallowed up the call stack in ExecutionContext.openDataEngine():
	public void openDataEngine( )
	{
		if ( dataEngine == null )
		{
			try
			{
				dataEngine = DataEngineFactory.getInstance( ).createDataEngine(
						this, needOutputResultSet );
			}
			catch ( BirtException bex )
			{
				addException( bex ); // Exception swallowed here!!!
			}
			catch ( Exception ex )
			{
				addException( new EngineException( ex.getLocalizedMessage( ),
						ex ) );
			}
		}
	}


This is being called from ExecutionContex.getDataEngine(), which returns null in this case. Line 123 in ReportExecutor.execute() is where it blows up:

context.getDataEngine( ).prepare( report, appContext );
Re: Loading reports from Classpath? [message #520946 is a reply to message #520941] Mon, 15 March 2010 21:33 Go to previous messageGo to next message
Craig M is currently offline Craig MFriend
Messages: 19
Registered: July 2009
Junior Member
For whoever may be having the same problem, here is the original weblogic.xml, followed by the one that is working for me:

<?xml version="1.0" encoding="UTF-8"?> 
  <!DOCTYPE weblogic-web-app 
    PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" 
    "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd" >

<weblogic-web-app>
	<container-descriptor>
		<prefer-web-inf-classes>true</prefer-web-inf-classes>
	</container-descriptor>
</weblogic-web-app>


This works:

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app 
    xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd 
        http://xmlns.oracle.com/weblogic/weblogic-web-app
        http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
    <wls:container-descriptor>
        <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes>
    </wls:container-descriptor>
</wls:weblogic-web-app>


I'm not sure why the DTD version doesn't work. Perhaps it has been deprecated (removed to be exact), or perhaps I have another bug to file with Oracle Wink

[Updated on: Mon, 15 March 2010 21:35]

Report message to a moderator

Re: Loading reports from Classpath? [message #520952 is a reply to message #520946] Mon, 15 March 2010 22:06 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Craig,

Thanks for posting this. After you test 2.5.2 let me know and I will
put this on the wiki.

Thanks

Jason

Craig M wrote:
> For whoever may be having the same problem, here is the original
> weblogic.xml, followed by the one that is working for me:
>
> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE weblogic-web-app
> PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN"
> " http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dt d" >
>
> <weblogic-web-app>
> <container-descriptor>
> <prefer-web-inf-classes>true</prefer-web-inf-classes>
> </container-descriptor>
> </weblogic-web-app>
>
> This works:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <wls:weblogic-web-app
> xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
> http://xmlns.oracle.com/weblogic/weblogic-web-app
> http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblog ic-web-app.xsd">
>
> <wls:container-descriptor>
> <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes >
> </wls:container-descriptor>
> </wls:weblogic-web-app>
>
> I'm not sure why the DTD version doesn't work. Perhaps it has been
> deprecated (removed to be exact), or perhaps I have another bug to file
> with Oracle ;)
Re: Loading reports from Classpath? [message #521113 is a reply to message #520952] Tue, 16 March 2010 13:53 Go to previous messageGo to next message
Craig M is currently offline Craig MFriend
Messages: 19
Registered: July 2009
Junior Member
I haven't tested on 2.5.2, but the offending code has not changed. Since the root cause was a WebLogic class loading issue, I'm going to assume the behavior will be the same.
Re: Loading reports from Classpath? [message #521123 is a reply to message #520004] Tue, 16 March 2010 14:10 Go to previous messageGo to next message
Craig M is currently offline Craig MFriend
Messages: 19
Registered: July 2009
Junior Member
This is very much related...

https://bugs.eclipse.org/bugs/show_bug.cgi?id=292109
Re: Loading reports from Classpath? [message #521143 is a reply to message #521113] Tue, 16 March 2010 14:48 Go to previous message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Thanks Craig

Craig M wrote:
> I haven't tested on 2.5.2, but the offending code has not changed. Since
> the root cause was a WebLogic class loading issue, I'm going to assume
> the behavior will be the same.
Previous Topic:Generate BIRT logging
Next Topic:Oracle ALTER SESSION with JavaScript
Goto Forum:
  


Current Time: Fri Apr 26 06:20:11 GMT 2024

Powered by FUDForum. Page generated in 0.04476 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top