voyent
Problem to combine a Woodstock .war and ICEFaces .war in the same .ear  XML
Forum Index -> Woodstock to ICEfaces Migration
Author Message
ammayo

Joined: 24/Jan/2009 00:00:00
Messages: 3
Offline


Dear all,

I'm facing a problem when trying to combine in the same enterprise application (.ear) a Woodstock web component (.war) and ICEFaces + facelets web components (.war).
Given that Sun abandonned Woodstock, I had to keep one of my web components in Woodstock and migrate the others in ICEFaces.
The web components work perfectly if I bundle the same technology (only Woodstock web component or only ICEFaces + facelets web components) in the .ear.
But when I try to combine the two web technologies in the same .ear, the Woodstock web component could no long work.
I tried different technics to solve the problem without success. It seems that ICEFaces tries to deal with the Woodstock component and fails.
I'm using glassfish V2.1 as application server
Here is the error message when initializing JSF for my three web components. The web component in Woodstock technologie is "phadministrationweb"

LDR5010: All ejb(s) of [EnterpriseApplication_pizza] loaded successfully!
Initializing Sun's JavaServer Faces implementation (1.2_04-b22-p05) for context '/phpartenairesweb'
ICEsoft Technologies, Inc.
ICEfaces 1.7.2
Build number: 11
Revision: 17936
ICEfaces JSP parser disabled. This is a Facelets-only configuration.
Asynchronous HTTP Service available: false
JMS API available: true
GlassFish ARP available: true
Jetty ARP available: false
Adapting to GlassFish ARP environment
Initializing Sun's JavaServer Faces implementation (1.2_04-b22-p05) for context '/phadministrationweb'
Asynchronous HTTP Service available: false
JMS API available: true
Initializing Sun's JavaServer Faces implementation (1.2_04-b22-p05) for context '/phClientsEtCommandesWeb'
ICEfaces JSP parser disabled. This is a Facelets-only configuration.
Asynchronous HTTP Service available: false
JMS API available: true
WebModule[/phadministrationweb]ICEfaces 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:126)
at com.icesoft.faces.context.DOMContext.createTemporaryDOMResponseWriter(DOMContext.java:139)
at com.icesoft.faces.context.DOMContext.attachDOMContext(DOMContext.java:107)
at com.icesoft.faces.renderkit.dom_html_basic.TextRenderer.renderUIOutput(TextRenderer.java:89)
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:126)


.
.
.


Any help? Thank you in advance.
mkat

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


I had a similar problem to solve in my app.

Suggestions (These apply specifically to Netbeans(what I use), you didn't say you were using that, but here it is):

1. Check your ICEfaces project properties. If you see the ICEfaces runtime being used, delete that runtime and replace with "Just ICEfaces runtime."

2. Go to your ICEfaces project web.xml.

add this:
Code:
<context-param>
 <param-name>com.icesoft.faces.delegateNonIface</param-name>
 <param-value>true</param-value>
 </context-param>


if you see this:
Code:
 <!--  <servlet-mapping>
         <servlet-name>Persistent Faces Servlet</servlet-name>
         <url-pattern>*.jsp</url-pattern>
     </servlet-mapping>-->

Comment it out.

3. (If 1-2 doesn't fix it) Go to the faces-config of Woodstock projects:

If you see anything between Code:
<application><view-handler>
tags that you don't see in your ICEfaces facesconfig, such as a JSFcrudResolver, comment it out.
---

Make sure your woodstock pages are running on a different path, like /face/mywoodstockpage.jsp and your icefaces run like /myicefacespage.iface

Note that my facelets have a default suffix of .jsp, so that may have an effect or not on how effective this is for you.

ammayo

Joined: 24/Jan/2009 00:00:00
Messages: 3
Offline


Dear mkta,

Thank you for your help.
I am using Netbeans 6.5 and the facelet provided with ICEFaces (Facelets ICEFaces Run-Time 1..8.0) (I switched to ICEFaces 1.8.0 using Netbeans plugin in the mean time).
I tried your suggestions but could not solve the problem. Maybe I miss something.

Step 1 : In the Project Properties popup, I found ICEFaces runtime being used only in Build/Packaging section. I then replaced ICEFaces runtime 1.8.0 with Just ICEFaces runtime 1.8.0.
In the Librairies section, I have the following librairies :
- Facelets ICEfaces Run-Time 1.8.0
- ph-workflowAndDomaine (my ejb module)
- ICEfaces JSF1.2 Design 1.8.0 (not checked for package)
- ICEfaces JSF1.2 Run-Time Support
- ICEfaces JSF1.2 BackBeans & Models
- ICEfaces VWP JSF1.2 Run-Time Support

Step 2 : did (I added the context-param and found the Persistent Faces Servlet *.jsp mapping en commented it in the ICEfaces project web.xml)

Step 3 : did not have "<application><view-handler>" section in my woodstock faces-config.

I think Facelets consider *.jsp extension by default?

Here is the error message :
**RemoteBusinessJndiName: com.pixelgraph.ph.intranet.administration.administrationService.GestionPPWFServiceBeanRemote; remoteBusIntf: com.pixelgraph.ph.intranet.administration.administrationService.GestionPPWFServiceBeanRemote
LDR5010: All ejb(s) of [EnterpriseApplication_partenaire_2] loaded successfully!
Initializing Sun's JavaServer Faces implementation (1.2_04-b20-p03) for context '/web3'
ICEsoft Technologies, Inc.
ICEfaces 1.8.0
Build number: 12
Revision: 18727
ICEfaces JSP parser disabled. This is a Facelets-only configuration.
Adapting to GlassFish ARP environment
Initializing Sun's JavaServer Faces implementation (1.2_04-b20-p03) for context '/ph-Administration-web2'
StandardWrapperValve[jsp]: PWC1406: Servlet.service() for servlet jsp threw exception
java.lang.RuntimeException: Cannot find FacesContext
at javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:1811)
at javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:1628)
at org.apache.jsp.AcceuilPP_jsp._jspx_meth_f_view_0(AcceuilPP_jsp.java from :108)
at org.apache.jsp.AcceuilPP_jsp._jspService(AcceuilPP_jsp.java from :83)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93)
......

Thanks

mkat

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


Can you post both your web.xml and faces-config from both the icefaces and woodstock projects, and perhaps the list of libraries each are using?
ammayo

Joined: 24/Jan/2009 00:00:00
Messages: 3
Offline


Dear Mkat,

I thank you a lot for your help. Because of some deadline constraints, I finally found an alternative and I'm not available to explore other solutions for the moment.
What I did was to split the ejb module in two other ejb modules. Then I had two ear to bundle the ejb modules separatly with either Woodstock ou ICEFaces as UI technology
It is not optimal I agree but I no more have the availlability to go further.
Thanks a lot anyway.

Best regards
Ammayo
 
Forum Index -> Woodstock to ICEfaces Migration
Go to:   
Powered by JForum 2.1.7ice © JForum Team