Tuesday, December 30, 2008

Show Business Logic Validation/Error/Exception in JSF pages Using AJAX4JSF in Seam Application.

I am facing issue while adding FacesMessages to the Current FacesConfig. My Implementation is as Follows
public void addUser(){
......
String message = "Duplicate user name. Username already exists";
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage( FacesMessage.SEVERITY_INFO, message, message));
}

But I am getting the following warning and I am not able to Show the error message in the Client Side Page.

WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.sourceId=rstReport:timeHorizonDecoration:timeHorizon[severity=(ERROR 2), summary=(value is required), detail=(value is required)]

The Solution I made as
I have Created a Utility class to add the Error messages into the Current FacesConfig Instance.

import java.util.Iterator;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;

public class ErrorMsgUtil {
   public static void addError(FacesMessage.Severity severity,String componentId,String    messageText){
       FacesMessage message = new FacesMessage(messageText);
       FacesContext context = FacesContext.getCurrentInstance();
       UIComponent component = findComponent(context.getViewRoot(), componentId);
       context.addMessage(component.getClientId(context), message);
   }

   private static UIComponent findComponent(UIComponent parent, String id) {
       if(id.equals(parent.getId())) {
          return parent;
       }
       Iterator kids = parent.getFacetsAndChildren();
       while(kids.hasNext()) {
          UIComponent kid = kids.next();
          UIComponent found = findComponent(kid, id);
          if(found != null) {
             return found;
          }
       }
       return null;
   }
}


And I have Called the Error Method as Follows

public void addUser(){
   try{
      ...........
      ... addUser ... Code
   }catch(UserAlreadyExistException e){
      String message = "Duplicate user name. Username already exists";
      ErrorMsgUtil.addError(FacesMessage.SEVERITY_ERROR,"errorMsg", msg);
   }
}


and added one h:message for="errorMsg";

It is working fine for the AJAX4JSF Page implementation.

Wednesday, December 10, 2008

javax.faces.FacesException: 530-5.5.1 Authentication Required. Learn more at 530 5.5.1 http://mail.google.com/support/bin/answer.

javax.faces.FacesException: 530-5.5.1 Authentication Required. Learn more at
530 5.5.1 http://mail.google.com/support/bin/answer.py?answer=14257 i6sm1479332tid.16
13:11:44,855 ERROR [STDERR] at org.jboss.seam.mail.ui.UIMessage.encodeEnd(UIMessage.java:146)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.ui.util.JSF.renderChild(JSF.java:181)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.ui.util.JSF.renderChildren(JSF.java:163)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.ui.facelet.FaceletsRenderer.renderFacelet(FaceletsRenderer.java:206)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.ui.facelet.FaceletsRenderer$1.process(FaceletsRenderer.java:160)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.ui.facelet.FaceletsRenderer$RenderingContext.run(FaceletsRenderer.java:78)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.ui.facelet.FaceletsRenderer.render(FaceletsRenderer.java:169)
13:11:44,855 ERROR [STDERR] at org.domain.EMSeam2.session.email.EmailAction.send(EmailAction.java:19)
13:11:44,855 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
13:11:44,855 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
13:11:44,855 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
13:11:44,855 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
13:11:44,855 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
13:11:44,855 ERROR [STDERR] at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.intercept.EJBInvocationContext.proceed(EJBInvocationContext.java:44)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.persistence.ManagedEntityIdentityInterceptor.aroundInvoke(ManagedEntityIdentityInterceptor.java:48)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke(EntityManagerProxyInterceptor.java:26)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke(HibernateSessionProxyInterceptor.java:27)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50)
13:11:44,855 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor428.invoke(Unknown Source)
13:11:44,855 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
13:11:44,855 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
13:11:44,855 ERROR [STDERR] at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
13:11:44,855 ERROR [STDERR] at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
13:11:44,855 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
13:11:44,855 ERROR [STDERR] at org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor.invoke(ExtendedPersistenceContextPropagationInterceptor.java:57)
13:11:44,855 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
13:11:44,855 ERROR [STDERR] at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
13:11:44,855 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
13:11:44,855 ERROR [STDERR] at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
13:11:44,855 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
13:11:44,855 ERROR [STDERR] at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
13:11:44,855 ERROR [STDERR] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
13:11:44,855 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
13:11:44,855 ERROR [STDERR] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:94)
13:11:44,855 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
13:11:44,855 ERROR [STDERR] at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:83)
13:11:44,855 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
13:11:44,855 ERROR [STDERR] at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
13:11:44,855 ERROR [STDERR] at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
13:11:44,855 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
13:11:44,855 ERROR [STDERR] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
13:11:44,855 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
13:11:44,855 ERROR [STDERR] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
13:11:44,855 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
13:11:44,855 ERROR [STDERR] at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:204)
13:11:44,855 ERROR [STDERR] at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:117)
13:11:44,855 ERROR [STDERR] at $Proxy168.send(Unknown Source)
13:11:44,855 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
13:11:44,855 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
13:11:44,855 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
13:11:44,855 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:41)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
13:11:44,855 ERROR [STDERR] at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
13:11:44,855 ERROR [STDERR] at org.javassist.tmp.java.lang.Object_$$_javassist_1.send(Object_$$_javassist_1.java)
13:11:44,855 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
13:11:44,855 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
13:11:44,855 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
13:11:44,855 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
13:11:44,855 ERROR [STDERR] at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:328)
13:11:44,855 ERROR [STDERR] at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:341)
13:11:44,871 ERROR [STDERR] at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
13:11:44,871 ERROR [STDERR] at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
13:11:44,871 ERROR [STDERR] at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
13:11:44,871 ERROR [STDERR] at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
13:11:44,871 ERROR [STDERR] at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
13:11:44,871 ERROR [STDERR] at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
13:11:44,871 ERROR [STDERR] at javax.faces.component.UICommand.broadcast(UICommand.java:383)
13:11:44,871 ERROR [STDERR] at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
13:11:44,871 ERROR [STDERR] at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
13:11:44,871 ERROR [STDERR] at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
13:11:44,871 ERROR [STDERR] at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
13:11:44,871 ERROR [STDERR] at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
13:11:44,871 ERROR [STDERR] at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
13:11:44,871 ERROR [STDERR] at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
13:11:44,871 ERROR [STDERR] at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
13:11:44,871 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
13:11:44,871 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
13:11:44,871 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
13:11:44,871 ERROR [STDERR] at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
13:11:44,871 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
13:11:44,871 ERROR [STDERR] at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
13:11:44,871 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
13:11:44,871 ERROR [STDERR] at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
13:11:44,871 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
13:11:44,871 ERROR [STDERR] at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
13:11:44,871 ERROR [STDERR] at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
13:11:44,871 ERROR [STDERR] at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
13:11:44,871 ERROR [STDERR] at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
13:11:44,871 ERROR [STDERR] at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
13:11:44,871 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
13:11:44,871 ERROR [STDERR] at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
13:11:44,871 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
13:11:44,871 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
13:11:44,871 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
13:11:44,871 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
13:11:44,871 ERROR [STDERR] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
13:11:44,871 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
13:11:44,871 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
13:11:44,871 ERROR [STDERR] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
13:11:44,871 ERROR [STDERR] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
13:11:44,871 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
13:11:44,871 ERROR [STDERR] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
13:11:44,871 ERROR [STDERR] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
13:11:44,871 ERROR [STDERR] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
13:11:44,871 ERROR [STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
13:11:44,871 ERROR [STDERR] at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
13:11:44,871 ERROR [STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
13:11:44,871 ERROR [STDERR] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
13:11:44,871 ERROR [STDERR] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
13:11:44,871 ERROR [STDERR] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
13:11:44,871 ERROR [STDERR] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
13:11:44,871 ERROR [STDERR] at java.lang.Thread.run(Unknown Source)
13:11:44,871 ERROR [STDERR] Caused by: com.sun.mail.smtp.SMTPSendFailedException: 530-5.5.1 Authentication Required. Learn more at
530 5.5.1 http://mail.google.com/support/bin/answer.py?answer=14257 i6sm1479332tid.16
13:11:44,871 ERROR [STDERR] at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1388)
13:11:44,871 ERROR [STDERR] at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:959)
13:11:44,871 ERROR [STDERR] at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:583)
13:11:44,871 ERROR [STDERR] at org.jboss.seam.mail.ui.UIMessage.encodeEnd(UIMessage.java:141)
13:11:44,871 ERROR [STDERR] ... 129 more


Solution

To Resolve this Issue, Add the property
mail.smtp.auth in property file with Value="True"

javax.faces.FacesException: 530 5.7.0 Must issue a STARTTLS command first. b4sm3763817tic.22

Solution is At the End.

12:34:40,096 ERROR [STDERR] at org.jboss.seam.mail.ui.UIMessage.encodeEnd(UIMessage.java:146)
12:34:40,096 ERROR [STDERR] at org.jboss.seam.ui.util.JSF.renderChild(JSF.java:181)
12:34:40,096 ERROR [STDERR] at org.jboss.seam.ui.util.JSF.renderChildren(JSF.java:163)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.ui.facelet.FaceletsRenderer.renderFacelet(FaceletsRenderer.java:206)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.ui.facelet.FaceletsRenderer$1.process(FaceletsRenderer.java:160)
12:34:40,112 ERROR [STDERR] at

org.jboss.seam.ui.facelet.FaceletsRenderer$RenderingContext.run(FaceletsRenderer.java:78)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.ui.facelet.FaceletsRenderer.render(FaceletsRenderer.java:169)
12:34:40,112 ERROR [STDERR] at org.domain.EMSeam2.session.email.EmailAction.send(EmailAction.java:19)
12:34:40,112 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
12:34:40,112 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
12:34:40,112 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
12:34:40,112 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
12:34:40,112 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
12:34:40,112 ERROR [STDERR] at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.intercept.EJBInvocationContext.proceed(EJBInvocationContext.java:44)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.persistence.ManagedEntityIdentityInterceptor.aroundInvoke(ManagedEntityIdentityInterceptor.java:48)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke(EntityManagerProxyInterceptor.java:26)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke(HibernateSessionProxyInterceptor.java:27)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50)
12:34:40,112 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
12:34:40,112 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
12:34:40,112 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
12:34:40,112 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
12:34:40,112 ERROR [STDERR] at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
12:34:40,112 ERROR [STDERR] at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
12:34:40,112 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:34:40,112 ERROR [STDERR] at org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor.invoke(ExtendedPersistenceContextPropagationInterceptor.java:57)
12:34:40,112 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:34:40,112 ERROR [STDERR] at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
12:34:40,112 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:34:40,112 ERROR [STDERR] at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
12:34:40,112 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:34:40,112 ERROR [STDERR] at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
12:34:40,112 ERROR [STDERR] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
12:34:40,112 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:34:40,112 ERROR [STDERR] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:94)
12:34:40,112 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:34:40,112 ERROR [STDERR] at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:83)
12:34:40,112 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:34:40,112 ERROR [STDERR] at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
12:34:40,112 ERROR [STDERR] at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
12:34:40,112 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:34:40,112 ERROR [STDERR] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
12:34:40,112 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:34:40,112 ERROR [STDERR] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
12:34:40,112 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:34:40,112 ERROR [STDERR] at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:204)
12:34:40,112 ERROR [STDERR] at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:117)
12:34:40,112 ERROR [STDERR] at $Proxy168.send(Unknown Source)
12:34:40,112 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
12:34:40,112 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
12:34:40,112 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
12:34:40,112 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:41)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
12:34:40,112 ERROR [STDERR] at org.javassist.tmp.java.lang.Object_$_javassist_1.send(Object_$_javassist_1.java)
12:34:40,112 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
12:34:40,112 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
12:34:40,112 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
12:34:40,112 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
12:34:40,112 ERROR [STDERR] at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:328)
12:34:40,112 ERROR [STDERR] at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:341)
12:34:40,112 ERROR [STDERR] at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
12:34:40,112 ERROR [STDERR] at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
12:34:40,112 ERROR [STDERR] at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
12:34:40,112 ERROR [STDERR] at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
12:34:40,112 ERROR [STDERR] at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
12:34:40,112 ERROR [STDERR] at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
12:34:40,112 ERROR [STDERR] at javax.faces.component.UICommand.broadcast(UICommand.java:383)
12:34:40,112 ERROR [STDERR] at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
12:34:40,112 ERROR [STDERR] at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
12:34:40,112 ERROR [STDERR] at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
12:34:40,112 ERROR [STDERR] at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
12:34:40,112 ERROR [STDERR] at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
12:34:40,112 ERROR [STDERR] at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
12:34:40,112 ERROR [STDERR] at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
12:34:40,112 ERROR [STDERR] at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
12:34:40,112 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
12:34:40,112 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
12:34:40,112 ERROR [STDERR] at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
12:34:40,112 ERROR [STDERR] at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
12:34:40,112 ERROR [STDERR] at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
12:34:40,112 ERROR [STDERR] at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
12:34:40,112 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
12:34:40,112 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
12:34:40,112 ERROR [STDERR] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
12:34:40,112 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
12:34:40,112 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
12:34:40,112 ERROR [STDERR] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
12:34:40,112 ERROR [STDERR] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
12:34:40,112 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
12:34:40,112 ERROR [STDERR] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
12:34:40,112 ERROR [STDERR] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
12:34:40,112 ERROR [STDERR] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
12:34:40,112 ERROR [STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
12:34:40,112 ERROR [STDERR] at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
12:34:40,112 ERROR [STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
12:34:40,112 ERROR [STDERR] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
12:34:40,112 ERROR [STDERR] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
12:34:40,112 ERROR [STDERR] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
12:34:40,112 ERROR [STDERR] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
12:34:40,112 ERROR [STDERR] at java.lang.Thread.run(Unknown Source)
12:34:40,112 ERROR [STDERR] Caused by: com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first. b4sm3763817tic.22
12:34:40,112 ERROR [STDERR] at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1388)
12:34:40,112 ERROR [STDERR] at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:959)
12:34:40,112 ERROR [STDERR] at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:583)
12:34:40,112 ERROR [STDERR] at org.jboss.seam.mail.ui.UIMessage.encodeEnd(UIMessage.java:141)
12:34:40,112 ERROR [STDERR] ... 130 more
12:34:40,112 INFO [EmailAction] Error while sending the mail

Solution:
This Bug is Just because of the Absence of the Property


Add this property in the

mail-service.xml as follows.




Thanks
Asker Ali M

How to Integrate Seam2.0 with GMail SMTP to Send Mails.

Hi,
Step 1.

For Setting Up the GMail SMTP for the Seam mail Functionality First of All Set the SMTP details in the mail-service.xml in the JBoss\server\default\deploy Folder.
Create on Mail Template File As Follows.
Also Add the property mail.smtp.auth

property name="mail.smtp.auth" value="true" in the properties File.

Step 2:


Set this Configuration File Entry in Components.xml file as follows.
Comment the Existing Session !-- mail:mail-session host="localhost" port="2525" username="test" password="test" --

And teh new Entry will be as follows.
mail:mail-session session-jndi-name="java:/Mail"/

Step 3.

Create an XHTML FIle With Mail Format as follows like Simplemail.xhtml



Step 4:

Create an Session Bean to handle the Request and Send the mail.Named EmailAction.java
import javax.ejb.Local;

@Local
public interface Email{
public void send();
public void destroy();
}

import javax.ejb.Remove;
import javax.ejb.Stateful;

import org.jboss.seam.annotations.Destroy;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Logger;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.log.Log;
@Stateful
@Name("email")
public class EmailAction implements Email
{    
    @In(create=true)
    private org.jboss.seam.faces.Renderer renderer;
   
    @Logger private Log log;
    public void send() {
      try {
         renderer.render("/samplemail.xhtml");
         log.info("email sent to asker");
     }catch (Exception e) {
         e.printStackTrace();
         log.info("Error while sending the mail");
     }
    }

    @Remove
    @Destroy
    public void destroy() {}
    }
}

Call this send method from any of the JSF Command Button as follows.
h:commandLink value="Send Mail to Asker" action="#{email.send}"/.

Monday, December 1, 2008

Seam Books and Article Online.

























The best URL Available is :http://docs.jboss.org/seam/1.2.1.GA/reference/en/html/index.html

The Best Book I found for a Beginner is Practical JBoss Seam Projects.You can Download this PDF Free from http://www.flazx.com/ebook8859.php or Contact Me: askeralim@gmail.com.

Here are the Best 15 Best JBoss Seam Tutorials.

Sunday, November 30, 2008

Seam Interview Questions

  1. How a Transaction can be managed in Seam Application.
  2. What are the Different Seam Components.
  3. What is the Use of @Transient Annotation.
  4. @WebRemote How It works in Seam AJAX Implementation.
  5. Can we have stateless session bean for Conversation Context.
  6. Attribute for Synchronized AJAX REQUEST in AJAX4JSF?
  7. What is the difference between s:link and h:commandLink.
  8. What is the difference between h:commandLink and h:outputLink.
  9. How Event Handling is being done in Seam Framework.
  10. What are the Implicit and Explicit Conversation.
  11. In which phase of JSF Life Cycle the Implicit Conversation will be started and Destroyed.
  12. In which phase of JSF Life Cycle the explicit will be started and Destroyed.
  13. How Can you set the Conversation Time out in Seam Application.
  14. What is the Annotation for Synchronized Access to a Action Listener Method.






Answers:
What is the difference between s:link and h:commandLink?

The s:link tag renders an HTML anchor tag with an "href" attribute. The display value of the link can also be obtained from a message bundle to support internationalization (I18N). This link does not submit an HTML form when included on the page.

This tag facilitates the construction of Seam conversation-aware HTML hyperlinks by allowing you to include invoke JSF backing bean actions using browser-friendly hyperlinks. The Seam conversationId parameter is included automatically in the request by this tag.

Example:





HTML Output

Open Project

What is Bijection in Seam.


The combination of injection and outjection is known as bijection.Bijection is managed by a method interceptor. Injection occurs prior tothe method being invoked, and outjection occurs when the invocation iscomplete. You can think of the context variables participating in thisinteraction as flowing through the component as it's invoked. Injectiontakes context variables from the Seam container and assigns them toproperties on the target instance, and outjection promotes the value ofits properties to context variables.

Seam Bijection Support the Following:
  • Two-way propagation of references: A component can have a reference injected by the container, and a component can also “outject” a reference to the enclosing context as well
  • Dynamic updates: Instead of doing one-time injection of references, bijection is done on each invocation of the component. This is key in the Seam component model, since components can be stateful, and therefore they and their dependent beans can evolve across invocations.
  • Multiple contexts: Dependencies (incoming and outgoing) can be established across multiple Seam contexts, rather than being forced to exist within a single context. So a session-scoped component can inject request-scoped beans and outject application-scoped beans, for example.
Bijection differs from IoC in that it is dynamic, contextual, and bidirectional. You can think of it as a mechanism for aliasing contextual variables (names in the various contexts bound to the current thread) to attributes of the component. Bijection allows auto-assembly of stateful components by the container. It even allows a component to safely and easily manipulate the value of a context variable, just by assigning to an attribute of the component.