[
http://jira.jboss.com/jira/browse/JBSEAM-827?page=comments#action_12353852 ]
Ted Goddard commented on JBSEAM-827:
------------------------------------
ICEfaces pages must be served with the .iface extension
<servlet-mapping>
<servlet-name>Persistent Faces Servlet</servlet-name>
<url-pattern>*.iface</url-pattern>
</servlet-mapping>
and other views must be delegated to the Seam-provided ViewHandler:
<context-param>
<param-name>com.icesoft.faces.delegateNonIface</param-name>
<param-value>true</param-value>
</context-param>
thereby requiring that both Seam and ICEfaces ViewHandlers be installed in the correct
order (in faces-config.xml):
<application>
<view-handler>org.jboss.seam.ui.facelet.SeamFaceletViewHandler</view-handler>
</application>
<application>
<view-handler>com.icesoft.faces.facelets.D2DSeamFaceletViewHandler</view-handler>
</application>
In testing with the Seam mail application, both ICEfaces and non-ICEfaces views coexist,
with mail successfully sent from the non-ICEfaces view, however mail sent from the
ICEfaces view succeeds, but throws an exception:
javax.el.ELException: /simple.xhtml: HIERARCHY_REQUEST_ERR: An attempt was made to insert
a node where it is not permitted.
at com.sun.facelets.compiler.TextInstruction.write(TextInstruction.java:50)
at com.sun.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:39)
at org.jboss.seam.ui.JSF.renderChild(JSF.java:171)
at org.jboss.seam.ui.JSF.renderChildren(JSF.java:162)
at org.jboss.seam.mail.ui.MailComponent.encode(MailComponent.java:50)
at org.jboss.seam.mail.ui.MailComponent.encode(MailComponent.java:38)
at
org.jboss.seam.mail.ui.AddressComponent.getInternetAddress(AddressComponent.java:28)
at
org.jboss.seam.mail.ui.RecipientAddressComponent.encodeBegin(RecipientAddressComponent.java:25)
at
com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:579)
at
com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:586)
at
com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:586)
at
com.icesoft.faces.facelets.D2DFaceletViewHandler.renderResponse(D2DFaceletViewHandler.java:276)
at
com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:149)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
at
com.icesoft.faces.webapp.xmlhttp.BlockingServlet.renderCycle(BlockingServlet.java:457)
at
com.icesoft.faces.webapp.xmlhttp.BlockingServlet.receiveUpdates(BlockingServlet.java:444)
at
com.icesoft.faces.webapp.xmlhttp.BlockingServlet.executeRequest(BlockingServlet.java:314)
at
com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:186)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
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.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(Thread.java:613)
Caused by: org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: An attempt was made to insert
a node where it is not permitted.
at org.apache.xerces.dom.ParentNode.internalInsertBefore(Unknown Source)
at org.apache.xerces.dom.ParentNode.insertBefore(Unknown Source)
at org.apache.xerces.dom.CoreDocumentImpl.insertBefore(Unknown Source)
at org.apache.xerces.dom.NodeImpl.appendChild(Unknown Source)
at
com.icesoft.faces.context.DOMResponseWriter.writeText(DOMResponseWriter.java:243)
at com.sun.facelets.el.ELText$ELTextVariable.writeText(ELText.java:186)
at com.sun.facelets.compiler.TextInstruction.write(TextInstruction.java:45)
It maybe that FacesContext.currentInstance() is returning the instance associated with the
ICEfaces page invoking the email rendering. Perhaps rendering the email in a different
thread would resolve this.
ICEfaces components are rendering during non RENDER_RESPONSE phase
-------------------------------------------------------------------
Key: JBSEAM-827
URL:
http://jira.jboss.com/jira/browse/JBSEAM-827
Project: JBoss Seam
Issue Type: Bug
Components: ICE Faces Integration
Environment: SEAM+ICEfaces
Reporter: Gregory Dick
Assigned To: Gregory Dick
During the INVOKE_APPLICATION phase of application operations that are printing to PDF,
SEAM is directly rendering facelets output, and ICEfaces components are mistakenly
rendering at this time.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira