Hi everyone,
I was hoping someone could point me in the right direction as to how to solve the following problem:
When the OWL server has started and I use my browser to open the web server and go to the /wonderland-web-front/ page,
I keep getting the following error:
org.apache.jasper.JasperException: /index.jsp(77,10) PWC6038: "${requestScope['WelcomeScripts']}" contains invalid expression(s): javax.el.ELException: Unable to find ExpressionFactory of type: org.apache.el.ExpressionFactoryImpl
This is the full stacktrace in the log file:
WARNING: ApplicationDispatcher[/wonderland-web-front] PWC1231: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: /index.jsp(77,10) PWC6038: "${requestScope['WelcomeScripts']}" contains invalid expression(s): javax.el.ELException: Unable to find ExpressionFactory of type: org.apache.el.ExpressionFactoryImpl
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:78)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:373)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:185)
at org.apache.jasper.compiler.JspUtil.validateExpressions(JspUtil.java:655)
at org.apache.jasper.compiler.Validator$ValidateVisitor.getJspAttribute(Validator.java:1363)
at org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1139)
at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:856)
at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1501)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2302)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2352)
at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2358)
at org.apache.jasper.compiler.Node$Root.accept(Node.java:498)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2302)
at org.apache.jasper.compiler.Validator.validate(Validator.java:1878)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:219)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:447)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:620)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:483)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:373)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:802)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:664)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:497)
at org.apache.catalina.core.ApplicationDispatcher.doDispatch(ApplicationDispatcher.java:468)
at org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:364)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:314)
at org.jdesktop.wonderland.front.servlet.WelcomeServlet.processRequest(WelcomeServlet.java:63)
at org.jdesktop.wonderland.front.servlet.WelcomeServlet.doGet(WelcomeServlet.java:79)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:662)
When I look at the index.jsp file: the error revolves around the following piece of code:
<c:forEach var="script" items="${requestScope['WelcomeScripts']}">
<c:import url="${script.url}" context="${script.context}" />
</c:forEach>
Now, up until now I have had no issues accessing this page, this just seemed to have happened out of the blue.
The first thing I did to try and resolve the issue is do a google search to see if anyone else had a similar issue with this piece of code,
but there are no results.
I have also downloaded a fresh precompiled copy of the Wonderland.jar file and I have downloaded the latest source files and compiled my own version,
each time deleting the .wonderland-server directory, but also no luck.
I have manually added the ExpressionFactoryImpl class to the lib directory of the wonderland-web-front.war web app, which fixes this issue, but leads to a java compilation
error instead.
Might anyone have some suggestions as to what I could try next?
Thanks a lot,
Adrian