Hello together,

Starting with TomEE Plume 10.0.0 I mentioned some issues in resolving
implicit ELExpressions like "#{request}" or "#{session}" in my JSF project.

The resolved expression is a proxy object without any initialized
attributes.

In order to reproduce this issue, I set up a vanilla TomEE Plume
installation. The faces servlet is configured. Loading the following
.xhtml page:

<html xmlns="http://www.w3.org/1999/xhtml"; xmlns:h="jakarta.faces.html"> 
<h:body><h:outputText
value="#{request.contextPath}"/></h:body></html>

gives this error message:

30-Jan-2025 12:04:14.294 SCHWERWIEGEND [http-nio-8080-exec-8]
com.sun.faces.application.view.FaceletViewHandlingStrategy.handleRenderException
Error Rendering View[/index.xhtml]
    jakarta.el.PropertyNotFoundException: /index.xhtml @15,54
value="#{request['contextPath']}": Die Eigenschaft [contextPath] wurde
für den Typ
[org.apache.webbeans.custom.Object$$OwbNormalScopeProxy6949990480] nicht
gefunden
        at
com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:75)
        at
jakarta.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:206)
        at
jakarta.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:175)
        at jakarta.faces.component.UIOutput.getValue(UIOutput.java:134)
        at
com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:163)
        at
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:303)
        at
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:135)
        at
jakarta.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:586)
        at
jakarta.faces.component.UIComponent.encodeAll(UIComponent.java:1442)
        at
jakarta.faces.component.UIComponent.encodeAll(UIComponent.java:1438)
        at
jakarta.faces.component.UIComponent.encodeAll(UIComponent.java:1438)
        at
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:449)
        at
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:160)
        at
jakarta.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:125)
        at
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:93)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:72)
        at
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:150)
        at
jakarta.faces.webapp.FacesServlet.executeLifecyle(FacesServlet.java:692)
        at jakarta.faces.webapp.FacesServlet.service(FacesServlet.java:449)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
        at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
        at
org.apache.openejb.server.httpd.EEFilter.doFilter(EEFilter.java:67)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
        at
org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
        at
org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(OpenEJBSecurityListener.java:97)
        at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:663)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
        at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)
        at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
        at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905)
        at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741)
        at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
        at
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
        at
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
        at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
        at java.base/java.lang.Thread.run(Thread.java:840)
    Caused by: jakarta.el.PropertyNotFoundException: Die Eigenschaft
[contextPath] wurde für den Typ
[org.apache.webbeans.custom.Object$$OwbNormalScopeProxy6949990480] nicht
gefunden
        at
jakarta.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:261)
        at jakarta.el.BeanELResolver.property(BeanELResolver.java:330)
        at jakarta.el.BeanELResolver.getValue(BeanELResolver.java:99)
        at
com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:139)
        at
com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:164)
        at org.apache.el.parser.AstValue.getValue(AstValue.java:161)
        at
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:152)
        at
org.apache.webbeans.el22.WrappedValueExpression.getValue(WrappedValueExpression.java:67)
        at
com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:73)
        ... 45 more


I couldn't reproduce this behavior in TomEE Plus 10.0.0. Furthermore, I
couldn't reproduce it on other application servers using Mojarra. Hence,
I suppose it to be plume specific.

Unfortunately, I was not able to find this issue documented. Is there a
problem in my configuration? Is it a known issue? Have these expressions
been removed from the specification?

Thanks in advance

Reply via email to