After some debug I
found solution
In RAD v7 JSF
implementation IBM introduced some AJAX solution . A4J filter is
loaded properly. The problem is because there is colision between A4J
renderer and RAD renderkits and it behaves very similar to problems that
other people had when Ajax filter wasn't loaded - JavaScripts in header were not
generated. Created by RAD faces-config
contains:
I found that in
org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter there is some checking od
AJAXREQUEST paramenter. Request with parameter: ?AJAXREQUEST=true
causes exception:
java.lang.ClassCastException
: com.ibm.faces.renderkit.DefaultAjaxRenderer incompatible with
org.ajax4jsf.framework.renderer.AjaxContainerRenderer
at
org.ajax4jsf.framework.ajax.AjaxViewRoot.encodeAjax(
AjaxViewRoot.java:570)
at
org.ajax4jsf.framework.ajax.AjaxViewRoot.encodeChildren(
AjaxViewRoot.java:430)
at
javax.faces.webapp.UIComponentTag.encodeChildren(
UIComponentTag.java:611)
at
javax.faces.webapp.UIComponentTag.doEndTag(
UIComponentTag.java:548)
at
com.sun.faces.taglib.jsf_core.ViewTag.doEndTag(
ViewTag.java:216)
at
com.ibm._jsp._sample._jspx_meth_f_view_0(
_sample.java:322).
....
Solution
is to remove from faces-config.xml piece of code generated by
RAD:
<factory>
<faces-context-factory>
com.ibm.faces.context.AjaxFacesContextFactory</faces-context-factory>
<render-kit-factory>
com.ibm.faces.renderkit.AjaxRenderKitFactory</render-kit-factory>
</factory>
After that
everything started working fine.
Thanks