voyent
java.lang.IllegalStateException: ICEfaces requires the PersistentFacesServlet  XML
Forum Index -> Woodstock to ICEfaces Migration Go to Page: Previous  1, 2, 3 Next 
Author Message
vblack

Joined: 05/Jan/2009 00:00:00
Messages: 12
Offline


I'm also having difficulty with a simple example. My migration path is manual and not through visual frameworks.

I've done the following:
1) created a simple woodstock app with one page (manually - not visually)
2)I then added IceFaces framework to the project (not the visual framework)
3)I added a simple ice faces page to my set of web pages
NOTE: these are simple beanless pages - which display a line of text

Here is what I get:
1-I'm able to display the ice faces page correctly:
http://localhost:8084/SimpleWSandIFaces/welcomeJSF_1.iface

2- I'm not able to display the woodstock page:
http://localhost:8084/SimpleWSandIFaces/faces/simplePage.jsp

I get the following stack trace. Why is it that the stack trace shows icefaces classes when I'm bringing up a woodstock page? Why is it going through this class: com.icesoft.faces.context.DOMResponseWriter.<init>(DOMResponseWriter.java:126)


javax.servlet.ServletException: ICEfaces requires the PersistentFacesServlet. Please check your web.xml servlet mappings
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

root cause

java.lang.IllegalStateException: ICEfaces requires the PersistentFacesServlet. Please check your web.xml servlet mappings
com.icesoft.faces.context.DOMResponseWriter.<init>(DOMResponseWriter.java:126)
com.icesoft.faces.context.DOMContext.createTemporaryDOMResponseWriter(DOMContext.java:139)
com.icesoft.faces.context.DOMContext.attachDOMContext(DOMContext.java:107)
com.icesoft.faces.renderkit.dom_html_basic.TextRenderer.renderUIOutput(TextRenderer.java:89)
com.icesoft.faces.renderkit.dom_html_basic.TextRenderer.renderEnd(TextRenderer.java:66)
com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeEnd(DomBasicRenderer.java:126)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:836)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:896)
com.sun.webui.jsf.util.RenderingUtilities.renderComponent(RenderingUtilities.java:73)
com.sun.webui.jsf.renderkit.html.AbstractRenderer.encodeChildren(AbstractRenderer.java:202)
com.sun.webui.jsf.renderkit.html.MarkupRenderer.encodeChildren(MarkupRenderer.java:103)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:245)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176)
com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:151)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)


Here is my web.xml - which I made as simple as possible:


<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet>
<servlet-name>ThemeServlet</servlet-name>
<servlet-class>com.sun.webui.theme.ThemeServlet</servlet-class>
</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>
<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-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>ThemeServlet</servlet-name>
<url-pattern>/theme/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Persistent Faces Servlet</servlet-name>
<url-pattern>/xmlhttp/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Persistent Faces Servlet</servlet-name>
<url-pattern>*.iface</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Persistent Faces Servlet</servlet-name>
<url-pattern>*.jspx</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>Blocking Servlet</servlet-name>
<url-pattern>/block/*</url-pattern>
</servlet-mapping>

<session-config>
<session-timeout>
30
</session-timeout>
</session-config>

</web-app>



frank.ye

Joined: 26/Oct/2004 00:00:00
Messages: 709
Offline


in 1.7.2, icefaces.jar is included with Custom Renderer for h:prefix as well. so for migration project please use just-ice.jar in the run time. Therefore, two URL mapping to separate Servlet Handler.

Give it a try and let me know if it still fails.

thanks,
Frank



[Email]
vblack

Joined: 05/Jan/2009 00:00:00
Messages: 12
Offline


That worked! I am able to display both Woodstock and IceFace pages.

Thanks for your help Frank
vineetgarg

Joined: 28/Feb/2008 00:00:00
Messages: 8
Offline


Can't be it possible to migrate from woodstock to icefaces without using the netbeans.

As i have updated the web.xml files by adding the icefaces stuff and also added the icefaces lib in the war file. But still i am getting the same error
Caused by: java.lang.IllegalStateException: ICEfaces requires the PersistentFacesServlet. Please check your web.xml servlet mappings
at com.icesoft.faces.context.DOMResponseWriter.<init>(DOMResponseWriter.java:126)


But when I tried to access the same url using .iface i got this exception.
[#|2009-01-22T13:02:51.874-0500|WARNING|sun-appserver9.1|javax.enterprise.resource.webcontainer.jsf.lifecycle|_ThreadID=19;_ThreadName=httpSSLWorkerThread-8080-1;_RequestID=8dff09e6-5d82-4eae-969b-a32807972095;|executePhase(RENDER_RESPONSE 6,com.icesoft.faces.context.BridgeFacesContext@8e4f58) threw exception
javax.faces.FacesException: Can't parse stream for /Login.jsp Error at (44, 22: argument type mismatch
at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:534)

Quick response would be highly appreciated.

Thanks in Advance,

Vineet Garg
frank.ye

Joined: 26/Oct/2004 00:00:00
Messages: 709
Offline


please provide more detailed info, ie a war file or a pom.xml file with project file or a NB standard web project.
[Email]
vineetgarg

Joined: 28/Feb/2008 00:00:00
Messages: 8
Offline


I was using the icefaces.1.7.2.jar file, but after reading on this forum i came to know i have to use only the just-ice.jar file. So, now its working and I am able to display both pages.

Please correct me if I am wrong, that we have to use only the just-ice.jar file for porting purpose and icefaces-comps.jar file for tld information in the war file.
Also, it would be helpful if you could let me know the way to use iceface with maven for porting purpose.

--
Thanks in Advance

Vineet Garg
frank.ye

Joined: 26/Oct/2004 00:00:00
Messages: 709
Offline


at 1.8 level, just-ice.jar will be remove and using icefaces.jar instead. Could provide pom.xml file as part of porting to 1.8.

Let me know if you are interested trying, I could make one.
[Email]
rdblaha1

Joined: 23/Mar/2009 00:00:00
Messages: 3
Offline


I had a project working, both in viewing in each view in Netbeans 6.5.1 - visual Design editor, JSP editor, and Java editor for my ICEfaces project.

I converted from ICEfaces 1.7.2 to 1.8.0. Now I get the Subject line error. It declares for each web page combination (Design, JSP, Java) that the Design has the error that 'ICEfaces requires the PersistentFacesServlet'.

Interestingly NBs builds, deploys, and runs the project with no related problems. It appears to be a Netbeans / ICEFaces conflict somewhere in the Design editor based on the behaviour problem being only found in Netbeans.

Any ideas as to what the conflict might be and / or a solution?

Thanks.
rdblaha1

Joined: 23/Mar/2009 00:00:00
Messages: 3
Offline


I created a brand new Java Web >> Web Application with an ICEfaces framework. I went in an compared the libraries. The old Web app had the ICEfaces Run-Time 1.8.0 library. The new project had instead the ICEfaces JSF1.2 Design-Time 1.8.0 library. I obviously added the Design-Time Library and removed the Run-Time library. The Design-Time library had to have the Package unchecked. It wasn't until I closed and restarted Netbeans that the change appeared to take place, but now everything is back to what I had before, only now I am upgraded to ICEfaces 1.8.0.

Issue resolved.
walwal

Joined: 20/May/2009 00:00:00
Messages: 8
Offline


Hi all,
I added an iceface page (visual) and a link from woodstock page but this does not work and when I try to open directly the icepage, i have the error :
requires the PersistentFacesServlet. Please check your web.xml servlet mappings
java.lang.IllegalStateException: ICEfaces requires the PersistentFacesServlet. Please check your web.xml servlet mappings
at com.icesoft.faces.context.DOMResponseWriter.<init>(DOMResponseWriter.java:150)
at com.icesoft.faces.context.DOMContext.createTemporaryDOMResponseWriter(DOMContext.java:182)
at com.icesoft.faces.context.DOMContext.attachDOMContext(DOMContext.java:107)
at com.icesoft.faces.renderkit.dom_html_basic.FormRenderer.encodeBegin(FormRenderer.java:88)
.....

Could you please tell me how can I be sure my installation is good? I do not not know where to find the so called file : just-ice.jar. where can I find it.

thanks for your help
jmillet

Joined: 06/Jul/2009 00:00:00
Messages: 7
Offline


I am also having the same problem as many other users apparently.

Using NetBeans 6.5.1 and IceFaces 1.8.1 I cannot get an application with woodstock components to display once I've added the Visual IceFaces framework to the project in NetBeans. I have not been able to get the downloaded migration example to work either, since it seems to be coded for earlier versions of IceFaces and not 1.8.1. Specifically, when downloading and trying to run TwoPageCrudTable_Part1, I get a java.lang.ClassNotFoundException: com.icesoft.faces.component.inputfile.FileUploadServlet. I'm assuming there was a change in component package structure between 1.7 and 1.8.

If anyone can post a simple step by step set of instructions that shows how to add the Visual IceFaces framework to a NetBeans Visual JSF Framework project I would greatly appreciate it.
deathstar64

Joined: 09/Jul/2009 00:00:00
Messages: 3
Offline


I'm having the exact same problems and I'm using ICEfaces 1.8.1...
mkat

Joined: 16/Oct/2008 00:00:00
Messages: 96
Offline


jmillet wrote:


If anyone can post a simple step by step set of instructions that shows how to add the Visual IceFaces framework to a NetBeans Visual JSF Framework project I would greatly appreciate it.  


Note that the following is based on 1.8.0:
1. -Right click project and select properties
2 -Go to Frameworks, and add ONLY the "Visual Web ICEfaces". Hit OK.
3. -Do a build and then run the project. The default icefaces page should appear.

Afterwards, check for these things:
1. The "Just ICEfaces" lib: Go to ICEfaces project properties. Look in packaging. Does your icefaces lib say "Just ICEfaces?" If it does not, and you see an "ICEfaces runtime", delete it. Go to Add Library and add "Just ICEfaces". After it is added change the "path in war" to WEB-INF/lib (the same as the lib above it). Press ENTER so that it saves that, and ok.

2.The other ICEfaces libraries: Go to ICEfaces project properties. There should only be four of these. (If you have Icefaces-Facelets, that makes 5). The Design-Time one MUST REMAIN UNCHECKED! If there are MORE than 4, like somehow, "ICEfaces Run-Time" (not to be confused with the (ICEfaces JSF runtime that is supposed to be there), ends up in there or even "Just ICEFACES run-time" delete it! Those belong in packaging only.

3. Woodstock in an ICEfaces project: For both types of pages to run in the same web app (and be visible in the designer), add the libraries, "Woodstock jsf", "Web UI Components", and "Web UI Default Theme". (You may want to do this anyway even if you have seperate ICEfaces and Woostock war files.)

4. Persistent Faces Servlet: This will control anything mapped to it. In the web.xml, you will see many (servlet-mapping)'s
with many (url-pattern)'s. This determines what type of pages ICEfaces libs are going to try to render. DELETE or COMMENT out the *.jsp one if it is in there. Leave the rest alone.

5. Delegate Non-Iface: This one I'm not really sure is necessary, but it is a context param to add to the web.xml, telling ICEfaces to leave the non-iface pages alone. (context-param)(param-name)com.icesoft.faces.delegateNonIface(/param-name)(param-value)true(/param-value)(/context-param)

(Note that Woodstock.jsp pages MUST run in a path like /project/faces/*.jsp and ICEfaces must be /project/*.iface)
kwedeer

Joined: 01/Jan/2009 00:00:00
Messages: 5
Offline


I would like to follow the advice, and I see that my NB project has all of the following entries under the project -> Properties -> Frameworks -> Used Frameworks:
- VIsual Web ICEFaces
- ICEFaces
- Visual Web JavaServer Faces
- JavaServer Faces

How to remove the the remaining frameworks, there is no way how to do this from the graphical GUI and it is hard to find single project file as well.
jmillet

Joined: 06/Jul/2009 00:00:00
Messages: 7
Offline


kwedeer wrote:
I would like to follow the advice, and I see that my NB project has all of the following entries under the project -> Properties -> Frameworks -> Used Frameworks:
- VIsual Web ICEFaces
- ICEFaces
- Visual Web JavaServer Faces
- JavaServer Faces

How to remove the the remaining frameworks, there is no way how to do this from the graphical GUI and it is hard to find single project file as well. 


First I want to say thank you to mkat for your help. With your suggestions I was finally able to get this working. As for removing the frameworks you really should have no reason to, especially if you want to use both IceFaces and Woodstock components in the same project. I'm pretty sure that the Visual Web JavaServer Faces and JavaServer Faces frameworks are required for the Woodstock components.
 
Forum Index -> Woodstock to ICEfaces Migration Go to Page: Previous  1, 2, 3 Next 
Go to:   
Powered by JForum 2.1.7ice © JForum Team