3 Replies Latest reply on Jan 19, 2008 9:27 PM by mrobinson28

    Email with Icefaces

    mrobinson28

      A have searched and found several related posts/issue about problems integrating Seam email when using Icefaces's JSF implementation. Such as:

      http://jira.jboss.org/jira/browse/JBSEAM-827
      http://jira.jboss.org/jira/browse/JBSEAM-977
      http://www.jboss.com/index.html?module=bb&op=viewtopic&t=103086
      http://www.jboss.com/index.html?module=bb&op=viewtopic&t=112973

      Some of these sort of appear to be old or out of date so I am searching to see if there is a possible work around to get this working.

      My environment is Seam 2.0.0.GA, Icefaces 1.6.2, and JBoss 4.2.2. The mail session is configured as a JNDI resource in JBoss and made available to the application using:

      <mail:mail-session session-jndi-name="java:/Mail"/>


      My facelet pages for the email are taken from the mail example. The renderer is being injected using:

      @In
      private Renderer renderer;
      


      and the relevant method to send the email is:

      public void send() {
       try {
       renderer.render("/distribution/lead.xhtml");
       facesMessages.add("Email sent successfully");
       } catch (Exception e) {
       log.error("Error sending mail", e);
       facesMessages.add(FacesMessage.SEVERITY_INFO, "Email sending failed: " + e.getMessage());
       }
       }
      


      Stacktrace:

      
      java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.render.RenderKitFactory
       at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:256)
       at com.icesoft.faces.context.BridgeFacesContext.getRenderKit(BridgeFacesContext.java:184)
       at org.jboss.seam.ui.facelet.FaceletsRenderer$RenderingContext.init(FaceletsRenderer.java:104)
       at org.jboss.seam.ui.facelet.FaceletsRenderer$RenderingContext.run(FaceletsRenderer.java:77)
       at org.jboss.seam.ui.facelet.FaceletsRenderer.render(FaceletsRenderer.java:169)
       at com.onlineinsight.service.interview.DistributionActionBean.send(DistributionActionBean.java:75)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
       ...
       ...
      


      Thanks,

      Michael