[
https://issues.apache.org/jira/browse/MYFACES-3535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13268244#comment-13268244
]
Jürg Brandenberger commented on MYFACES-3535:
---------------------------------------------
At first thanks for looking at the case.
Please remember the application under test is running on Glassfish 3.1, Jboss
7.1 and Weblogic 12c without any problem of course those servers use the
mojarra implementation of JSF2. Now, the application must run on WebSpere 8.x
too. Actually exactly on 8.002 / 8.003. WAS us MyFaces instead of mojarra.
In the shown case, a list of projects is shown in a table. As long, as no
project has stakeholders assigned, the list is rendered and displayed. But if
Stakeholders are assigned, the following code snippet applies:
<h:column>
<f:facet name="header">#{webText.project_stakeholders}</f:facet>
<h:panelGroup id="short_sh" class="stakeholderTab" layout="block">
#{(proj.stakeholders.size() gt 0) ? proj.stakeholders.get(0).fullName :
null} <br />
#{(proj.stakeholders.size() gt 1) ? proj.stakeholders.get(1).fullName :
null}
</h:panelGroup>
</h:column>
I.e. at most to names are displayed per row. This throws the following
NoSuchMethodException.
[04.05.12 11:38:19:454 MESZ] 00000044 FaceletViewDe E Error Rendering
View[/pages/lists/projects.xhtml]
javax.el.ELException: /pages/lists/projects.xhtml:
java.lang.NoSuchMethodException: org
.apache.openjpa.util.java$util$ArrayList$proxy.get(java.lang.Long)
>From a list we read out either index 0 or 1, by doing list.get(0), or
>list.get(1). However MyFaces tries to do list.get(java.lang.Long), which of
>course is not defined by the java language and hence provokes the mentioned
>Exception. The same I observed in a similar way with String.substring(int,int)
>see Issue MYFACES-3533! Those issues are showstoppers for the project, so to
>have a work around quickly is very important.
> javax.faces.el.MethodNotFoundException: javax.el.MethodNotFoundException:
> -------------------------------------------------------------------------
>
> Key: MYFACES-3535
> URL: https://issues.apache.org/jira/browse/MYFACES-3535
> Project: MyFaces Core
> Issue Type: Bug
> Components: JSR-314
> Environment: WebSphere 8.002
> Reporter: Jürg Brandenberger
> Priority: Critical
> Attachments: TextLog_12.05.04_11.09.24.log,
> TextLog_12.05.04_11.09.24.log, TextLog_12.05.04_11.09.24.log
>
>
> Application port from from Mojarra / Glassfish 3.1 and JBoss 7.1 to WebSphere
> 8 using MyFaces. With the Mojarra implementation no problems arise, while
> with MyFaces almost nothing is running! Class not found exceptions, Method
> not found exceptions, see log trace, while every thing exist and the
> difference consist of the jsf implementation used by the AS!
> The method ProjectHandler#generateDocumentContent() exist, and is declared
> public!
> action="#{cc.attrs.handler.generateDocumentContent(cc.attrs.handler.documentId[0])}"
> "cc.attrs.handler" is correctly replaced by "ProjectHandler" so the syntax is
> correct and Myfaces should also be able to find the method:
> public final String generateDocumentContent(final String contentType) { ... }
> [02.05.12 08:22:12:382 MESZ] 0000003a FfdcProvider W
> com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Inci
> dent emitted on
> D:\programs\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\ffdc\server1_3a1fffb_12.05.02_08.22.12.272254
> 170309146331495.txt com.ibm.ws.webcontainer.webapp.WebApp.getResourceAsStream
> 602
> [02.05.12 08:22:12:428 MESZ] 0000003a ErrorPageWrit E An exception occurred
> javax.faces.el.MethodNotFoundException:
> javax.el.MethodNotFoundException: /resources/ut
> ils/listMenu.xhtml at line 98 and column 72
> action="#{cc.attrs.handler.generateDocumentContent(cc.attrs.handler.document
> Id[0])}": Method not found:
> ch.commcity.monterosa.web.ProjectHandler@39c7d55.generateDocumentContent()
> at
> javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:92)
> at
> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:100)
> at javax.faces.component.UICommand.broadcast(UICommand.java:120)
> at javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:973)
> at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:275)
> at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1285)
> at
> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:711)
> at
> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:34)
> at
> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
> at
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
> at
> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1188)
> at
> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:763)
> at
> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:454)
> at
> com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
> at
> com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1020)
> at
> com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
> at
> com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:895)
> at
> com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
> at
> com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
> at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
> at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
> at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
> at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:276)
> at
> com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.j
> ava:214)
> at
> com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
> at
> com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
> at
> com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
> at
> com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
> at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
> at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
> at
> com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
> at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
> at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1659)
> Caused by: javax.el.MethodNotFoundException: /resources/utils/listMenu.xhtml
> at line 98 and column 72 action="#{cc.attrs
> .handler.generateDocumentContent(cc.attrs.handler.documentId[0])}": Method
> not found: ch.commcity.monterosa.web.ProjectH
> [email protected]()
> at
> org.apache.myfaces.view.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:91)
> at
> javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:88)
> ... 33 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira