2 Replies Latest reply on Jul 4, 2007 1:52 AM by Richard Mokua

    Icefaces+seam

    Richard Mokua Newbie

      Hi guys,
      Two questions:
      1)I would like to use ice-faces on a seam project(seam 1.2.1, jboss4.0.5GA,
      ice-faces-1.6.0-DR5) are there any integration issues?
      2)How can i combine facelets+seam+ajax4jsf+richfaces+trinidad?
      Tried with the above said configs, an the application seemed to be losing the
      (cool) renderer for a4jsf plus all the themes.
      Thanks guys

        • 1. Re: Icefaces+seam
          ivan Newbie

          I sugest you go to the IceFaces forum where they discuss the integration with seam:
          http://www.jboss.com/index.html?module=bb&op=viewtopic&t=112518

          I think IceFaces is a much more cleaner concept than ajax4jsf but it proved really hard for me to integrate nicely with seam.
          I ended up dropping IceFaces from my poroject after I realized I couldn't use with many needed seam features like seam-pdf and seam-navigation.

          • 2. Re: Icefaces+seam
            Richard Mokua Newbie

            Hi,
            thanks for the reply.
            After following the instructions provided at the seam/ice-faces integration,i get the following exception:

            java.lang.IllegalStateException: ICEfaces requires the PersistentFacesServlet. Please check your web.xml servlet mappings
             at com.icesoft.faces.context.DOMResponseWriter.<init>(DOMResponseWriter.java:118)
             at com.icesoft.faces.context.DOMContext.createTemporaryDOMResponseWriter(DOMContext.java:138)
             at com.icesoft.faces.context.DOMContext.attachDOMContext(DOMContext.java:106)
             at com.icesoft.faces.renderkit.dom_html_basic.TextRenderer.renderUIOutput(TextRenderer.java:81)
             at com.icesoft.faces.renderkit.dom_html_basic.TextRenderer.renderEnd(TextRenderer.java:66)
             at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeEnd(DomBasicRenderer.java:124)
             at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:536)
             at org.ajax4jsf.framework.renderer.RendererBase.renderChild(RendererBase.java:286)
             at org.richfaces.renderkit.html.ToolBarGroupRenderer.encodeChildren(ToolBarGroupRenderer.java:68)
             at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:524)
             at org.ajax4jsf.framework.renderer.RendererBase.renderChild(RendererBase.java:282)
             at org.richfaces.renderkit.html.ToolBarRendererBase.encodeChildren(ToolBarRendererBase.java:81)
             at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:524)
             at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:244)
             at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
             at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:573)
             at org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
             at org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:229)
             at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
             at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
             at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
             at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
             at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
             at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:60)
             at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
             at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
             at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
             at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
             at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
             at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
             at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
             at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
             at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
             at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
             at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
             at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
             at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
             at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
             at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
             at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
             at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
             at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
             at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
             at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
             at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
             at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
             at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
             at java.lang.Thread.run(Unknown Source)
            


            The web.xml looks like this:
            <?xml version="1.0" ?>
            <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
             version="2.4">
            
             <!-- Ajax4jsf (must come first!) -->
            
             <filter>
             <display-name>Ajax4jsf Filter</display-name>
             <filter-name>ajax4jsf</filter-name>
             <filter-class>org.ajax4jsf.Filter</filter-class>
             </filter>
            
             <filter-mapping>
             <filter-name>ajax4jsf</filter-name>
             <url-pattern>*.seam</url-pattern>
             </filter-mapping>
            
             <context-param>
             <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
             <param-value>org.jboss.seam.ui.facelet.SeamFaceletViewHandler</param-value>
             </context-param>
            
             <context-param>
             <param-name>org.ajax4jsf.SKIN</param-name>
             <param-value>blueSky</param-value>
             </context-param>
            
             <!-- ice begin -->
             <context-param>
             <param-name>com.icesoft.faces.actionURLSuffix</param-name>
             <param-value>.seam</param-value>
             </context-param>
            
             <context-param>
             <param-name>com.icesoft.faces.synchronousUpdate</param-name>
             <param-value>false</param-value>
             </context-param>
            
             <context-param>
             <param-name>com.icesoft.faces.doJSFStateManagement</param-name>
             <param-value>true</param-value>
             </context-param>
            
            
            
             <context-param>
             <param-name>com.icesoft.faces.uploadDirectory</param-name>
             <param-value>/</param-value>
             </context-param>
            
             <context-param>
             <param-name>com.icesoft.faces.standardRequestScope</param-name>
             <param-value>true</param-value>
             </context-param>
            
             <!-- ice end -->
             <!-- Seam -->
            
             <listener>
             <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
             </listener>
            
             <!-- ice -->
             <listener>
             <listener-class>com.icesoft.faces.util.event.servlet.ContextEventRepeater</listener-class>
             </listener>
             <!-- end ice -->
            
             <filter>
             <filter-name>Seam Filter</filter-name>
             <filter-class>org.jboss.seam.web.SeamFilter</filter-class>
             </filter>
            
             <filter-mapping>
             <filter-name>Seam Filter</filter-name>
             <url-pattern>/*</url-pattern>
             </filter-mapping>
            
             <servlet>
             <servlet-name>Seam Resource Servlet</servlet-name>
             <servlet-class>org.jboss.seam.servlet.ResourceServlet</servlet-class>
             </servlet>
            
             <servlet-mapping>
             <servlet-name>Seam Resource Servlet</servlet-name>
             <url-pattern>/seam/resource/*</url-pattern>
             </servlet-mapping>
            
             <!-- ice -->
             <servlet>
             <servlet-name>uploadServlet</servlet-name>
             <servlet-class>com.icesoft.faces.component.inputfile.FileUploadServlet</servlet-class>
             <load-on-startup> 1 </load-on-startup>
             </servlet>
             <servlet>
             <servlet-name>Blocking Servlet</servlet-name>
             <servlet-class>com.icesoft.faces.webapp.xmlhttp.BlockingServlet</servlet-class>
             <load-on-startup> 1 </load-on-startup>
             </servlet>
            
             <servlet>
             <servlet-name>Persistent Faces Servlet</servlet-name>
             <servlet-class>com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet</servlet-class>
             <load-on-startup> 1 </load-on-startup>
             </servlet>
            
             <servlet-mapping>
             <servlet-name>Persistent Faces Servlet</servlet-name>
             <url-pattern>*.seam</url-pattern>
             </servlet-mapping>
            
             <servlet-mapping>
             <servlet-name>Persistent Faces Servlet</servlet-name>
             <url-pattern>/xmlhttp/*</url-pattern>
             </servlet-mapping>
            
             <servlet-mapping>
             <servlet-name>uploadServlet</servlet-name>
             <url-pattern>/uploadHtml</url-pattern>
             </servlet-mapping>
            
            
             <!-- Blocking Servlet Mapping -->
             <servlet-mapping>
             <servlet-name>Blocking Servlet</servlet-name>
             <url-pattern>/block/*</url-pattern>
             </servlet-mapping>
            
            
             <!-- ice -->
            
             <!-- MyFaces -->
            
             <listener>
             <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
             </listener>
            
             <!-- Facelets development mode (disable in production) -->
            
             <context-param>
             <param-name>facelets.DEVELOPMENT</param-name>
             <param-value>true</param-value>
             </context-param>
            
             <!-- JSF -->
            
             <context-param>
             <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
             <param-value>client</param-value>
             </context-param>
            
             <context-param>
             <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
             <param-value>.xhtml</param-value>
             </context-param>
            
             <servlet>
             <servlet-name>Faces Servlet</servlet-name>
             <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
             <load-on-startup>1</load-on-startup>
             </servlet>
            
             <servlet-mapping>
             <servlet-name>Faces Servlet</servlet-name>
             <url-pattern>*.seam</url-pattern>
             </servlet-mapping>
            
             <security-constraint>
             <display-name>Restrict raw XHTML Documents</display-name>
             <web-resource-collection>
             <web-resource-name>XHTML</web-resource-name>
             <url-pattern>*.xhtml</url-pattern>
             </web-resource-collection>
             <auth-constraint>
             <role-name>NONE</role-name>
             </auth-constraint>
             </security-constraint>
            
            </web-app>
            


            Help will be greatly appreciated.