留言板

Error with Icefaces Users Portlet

thumbnail
Timo Grütter,修改在11 年前。

Error with Icefaces Users Portlet

New Member 帖子: 16 加入日期: 12-3-16 最近的帖子
Hi Neil et al,

I have a problem with the Users-Portlet Example.
After fixing the issue with the filters (http://issues.liferay.com/browse/LPS-24723), I still have a Problem:

I can open the portlet from the control panel and can search for users, everything works fine. But when I want to edit a user and submit the form, I get:


ERROR class java.lang.IllegalArgumentException: can't parse argument number cc.attrs.value: javax.el.ELException: /file:/Users/tgrutter/LiferayStuff/liferay-portal-6.1.0-ce-ga1/tomcat-7.0.23/webapps/UsersPortletJsf-portlet/WEB-INF/lib/liferay-faces-alloy-3.1.0-RC1-SNAPSHOT.jar!/META-INF/resources/aui-cc/select.xhtml @21,31 value="#{cc.attrs.value}": /views/users.xhtml @31,131 value="#{usersModelBean.selectedUser.status}": java.lang.IllegalArgumentException: argument type mismatch
07:25:26,696 ERROR [ExceptionHandlerAjaxImpl:57] javax.el.ELException: /file:/Users/tgrutter/LiferayStuff/liferay-portal-6.1.0-ce-ga1/tomcat-7.0.23/webapps/UsersPortletJsf-portlet/WEB-INF/lib/liferay-faces-alloy-3.1.0-RC1-SNAPSHOT.jar!/META-INF/resources/aui-cc/select.xhtml @21,31 value="#{cc.attrs.value}": /views/users.xhtml @31,131 value="#{usersModelBean.selectedUser.status}": java.lang.IllegalArgumentException: argument type mismatch
javax.faces.component.UpdateModelException: javax.el.ELException: /file:/Users/tgrutter/LiferayStuff/liferay-portal-6.1.0-ce-ga1/tomcat-7.0.23/webapps/UsersPortletJsf-portlet/WEB-INF/lib/liferay-faces-alloy-3.1.0-RC1-SNAPSHOT.jar!/META-INF/resources/aui-cc/select.xhtml @21,31 value="#{cc.attrs.value}": /views/users.xhtml @31,131 value="#{usersModelBean.selectedUser.status}": java.lang.IllegalArgumentException: argument type mismatch
	at javax.faces.component.UIInput.updateModel(UIInput.java:853)
	at javax.faces.component.UIInput.processUpdates(UIInput.java:735)
	at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242)
	at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242)
	at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242)
	at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242)
	at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242)
	at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242)
	at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242)
	at javax.faces.component.UIForm.processUpdates(UIForm.java:281)
	at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242)
	at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242)
	at javax.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:1231)
	at com.sun.faces.lifecycle.UpdateModelValuesPhase.execute(UpdateModelValuesPhase.java:78)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at com.liferay.faces.bridge.BridgePhaseResourceImpl.execute(BridgePhaseResourceImpl.java:109)
	at com.liferay.faces.bridge.BridgeImpl.doFacesRequest(BridgeImpl.java:96)
	at javax.portlet.faces.GenericFacesPortlet.doBridgeDispatch(GenericFacesPortlet.java:700)
	at javax.portlet.faces.GenericFacesPortlet.serveResource(GenericFacesPortlet.java:291)
	at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:118)
	at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:71)
	at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:93)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:70)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
	at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:634)
	at com.liferay.portlet.InvokerPortletImpl.invokeResource(InvokerPortletImpl.java:746)
	at com.liferay.portlet.InvokerPortletImpl.serveResource(InvokerPortletImpl.java:503)
	at com.liferay.portal.action.LayoutAction.processPortletRequest(LayoutAction.java:941)
	at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:664)
	at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:244)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
	at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:174)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
	at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:533)
	at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:510)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:113)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:113)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:113)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121)
	at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:201)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121)
	at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:240)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:70)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
	at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:135)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:113)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:113)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121)
	at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:123)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121)
	at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:201)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121)
	at com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:241)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121)
	at com.liferay.portal.servlet.filters.etag.ETagFilter.processFilter(ETagFilter.java:55)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121)
	at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:240)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121)
	at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:83)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121)
	at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:80)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121)
	at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:208)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:184)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92)
	at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:164)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:164)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:184)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:70)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Caused by: javax.el.ELException: /file:/Users/tgrutter/LiferayStuff/liferay-portal-6.1.0-ce-ga1/tomcat-7.0.23/webapps/UsersPortletJsf-portlet/WEB-INF/lib/liferay-faces-alloy-3.1.0-RC1-SNAPSHOT.jar!/META-INF/resources/aui-cc/select.xhtml @21,31 value="#{cc.attrs.value}": /views/users.xhtml @31,131 value="#{usersModelBean.selectedUser.status}": java.lang.IllegalArgumentException: argument type mismatch
	at com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java:139)
	at javax.faces.component.UIInput.updateModel(UIInput.java:818)
	... 146 more
Caused by: java.lang.IllegalArgumentException: argument type mismatch
	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 javax.el.BeanELResolver.setValue(BeanELResolver.java:142)
	at com.sun.faces.el.DemuxCompositeELResolver._setValue(DemuxCompositeELResolver.java:255)
	at com.sun.faces.el.DemuxCompositeELResolver.setValue(DemuxCompositeELResolver.java:281)
	at org.jboss.el.parser.AstPropertySuffix.setValue(AstPropertySuffix.java:73)
	at org.jboss.el.parser.AstValue.setValue(AstValue.java:84)
	at org.jboss.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:249)
	at com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java:131)
	at com.sun.faces.el.CompositeComponentAttributesELResolver$ExpressionEvalMap.put(CompositeComponentAttributesELResolver.java:365)
	at com.sun.faces.el.CompositeComponentAttributesELResolver$ExpressionEvalMap.put(CompositeComponentAttributesELResolver.java:287)
	at javax.el.MapELResolver.setValue(MapELResolver.java:94)
	at com.sun.faces.el.DemuxCompositeELResolver._setValue(DemuxCompositeELResolver.java:255)
	at com.sun.faces.el.DemuxCompositeELResolver.setValue(DemuxCompositeELResolver.java:281)
	at org.jboss.el.parser.AstPropertySuffix.setValue(AstPropertySuffix.java:73)
	at org.jboss.el.parser.AstValue.setValue(AstValue.java:84)
	at org.jboss.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:249)
	at com.sun.faces.facelets.el.ContextualCompositeValueExpression.setValue(ContextualCompositeValueExpression.java:170)
	at com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java:131)
	... 147 more



Does anybody has a similar problem or can give me an advice?

PS:
I used the current official Liferay release and demo in Tomcat.
I also logged the status, and it is 0 (so it should be correctly)
thumbnail
Neil Griffin,修改在11 年前。

RE: Error with Icefaces Users Portlet

Liferay Legend 帖子: 2655 加入日期: 05-7-27 最近的帖子
Hi Timo,

I think that you have run into an issue that I found during testing back on April 13, 2012. Please "watch" FACES-1179 for information updates.

Thanks,

Neil
thumbnail
Timo Grütter,修改在11 年前。

RE: Error with Icefaces Users Portlet

New Member 帖子: 16 加入日期: 12-3-16 最近的帖子
Ni Neil,

thanks for your reply and the link. With this information in mind I changed the Tomcat EL default jars (el-api.jar and jasper-el.jar) to these

http://www.jarvana.com/jarvana/archive-details/javax/el/el-api/2.2/el-api-2.2.jar
http://www.jarvana.com/jarvana/archive-details/org/glassfish/web/el-impl/2.2/el-impl-2.2.jar

and customized the web.xml:


	<context-param>
		<param-name>com.sun.faces.expressionFactory</param-name>
<!-- 		<param-value>org.jboss.el.ExpressionFactoryImpl</param-value>  -->
		<param-value>com.sun.el.ExpressionFactoryImpl</param-value> 
	</context-param>


Now everything works fine.
thumbnail
Neil Griffin,修改在11 年前。

RE: Error with Icefaces Users Portlet

Liferay Legend 帖子: 2655 加入日期: 05-7-27 最近的帖子
Hi Timo,

Thanks for letting me know about your solution -- I'll take those good results into consideration when I get back to work on the JIRA issue.

BTW I happened to notice the following issue in Resin, which looks like it could be the same (or a similar) problem:
http://bugs.caucho.com/view.php?id=5087

Neil