I am somewhat new to JSF and cannot seem to find a simple answer to what versions of IBM websphere support 1.1 and wnat versions support 1.2? I would really appreciate if somebody has the answer to this question.
I have small sample application working on Tomcat 6 but now am having problems deploying to Websphere and I have a feeling it could be a version issue
Well, it could be a Websphere question too. But we have so little information about the problem that it's impossible to tell. So if P Davis would like to post some details about the problem, somebody might be able to answer.
That's consistent with our installation of WAS 7. It can toggle between SUNRI or MyFaces through the admin console. I've been unsuccessful in overriding the IBM version of the SUNRI, even after following some WAS documentation which seems to suggest it can be done. If anyone has had any success in that, I'd like to know how.
There is no specific version issue w.r.t JSF and Websphere, I am currently working on JSF 1.1 with Websphere 6.1.
I tried deploying JSF 1.1 and JSF 1.2 with Websphere 6.1 and 7.0, In either ways it is working fine.
P Davis, if you could post the exact error message your getting, some one can resolve the issue.
but as per my concern it is not a version issue.
JSF 1.1 IBM implementation and Websphere 6.1 is working fine and JSF 1.1 (Myfaces implementation) is also working fine after set classloader mode to PARENT LAST and set War classloader policy to APPLICATION in the EAR deployment descriptor.
JSF 1.2 (Sun implementation) and Tomcat 6.0 is working fine.
JSF 1.2 (Sun implementation) and Tomcat 5.5 the same error (NoClassDefFoundError: javax.el.CompositeELResolver).
Why is JSF 1.2 (Sun implementation) and Websphere 6.1 not working?
In a nutshell:
1. Create a dir with the following jars:
- el-api-1.0.jar (from facelets)
- el-impl-1.0.jar (from facelets)
2. Create a shared library with those jars in the classpath.
3. Create a classloader with application classes loaded first(Parent last) on server level with a binding to that shared lib.
4. Make sure that all of your converters, validators and component that take arguments implement the StateHolder interface.
5. Eventualy you might need to create the following files in the META-INF/services directory of your web-app. (if the dir services does not exist just create it)
- javax.faces.application.ApplicationFactory with content: com.sun.faces.application.ApplicationFactoryImpl
- javax.faces.context.FacesContextFactory with content: com.sun.faces.context.FacesContextFactoryImpl
- javax.faces.lifecycle.LifecycleFactory with conent: com.sun.faces.lifecycle.LifecycleFactoryImpl
- javax.faces.render.RenderKitFactory with content: com.sun.faces.renderkit.RenderKitFactoryImpl
- Use el-api.jar instead of using el-api-1.0.jar.
- Create the META-INF folder in the folder WEB-INF