No Error messages when Session bean / Action not called
kryptontri Mar 10, 2006 4:22 AMHi, this is a basic error on my part, although I can't see where I
am going wrong. I have modified the booking example. After registration
I sent the user to a create-profile.xhtml page, which the allows the
user to enter some information, this is then sent to a Session bean
called ProfileAction. When I submit the page, nothing is persisted
and the action is not called. There are no errors to indicate anything,
the page is redisplayed.
Server Log after submit is pressed, ie this is the trace for the
web request that is not calling the action
2006-03-10 09:06:45,715 DEBUG [org.jboss.seam.contexts.Lifecycle] >>> Begin web request 2006-03-10 09:06:45,755 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.manager 2006-03-10 09:06:45,755 DEBUG [org.jboss.seam.core.Manager] No stored conversation 2006-03-10 09:06:45,755 DEBUG [org.jboss.seam.contexts.Contexts] found in application context: org.jboss.seam.core.init 2006-03-10 09:06:45,755 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] After restore view, conversation context: ConversationContext(5) 2006-03-10 09:06:45,755 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolving name: user 2006-03-10 09:06:45,755 DEBUG [org.jboss.seam.contexts.Contexts] found in session context: user 2006-03-10 09:06:45,755 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolved name to seam component 2006-03-10 09:06:45,755 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolving name: user 2006-03-10 09:06:45,755 DEBUG [org.jboss.seam.contexts.Contexts] found in session context: user 2006-03-10 09:06:45,755 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolved name to seam component 2006-03-10 09:06:45,755 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolving name: user 2006-03-10 09:06:45,755 DEBUG [org.jboss.seam.contexts.Contexts] found in session context: user 2006-03-10 09:06:45,755 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolved name to seam component 2006-03-10 09:06:45,775 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolving name: themeManager 2006-03-10 09:06:45,775 DEBUG [org.jboss.seam.contexts.Contexts] found in application context: themeManager 2006-03-10 09:06:45,775 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolved name to seam component 2006-03-10 09:06:45,775 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolving name: user 2006-03-10 09:06:45,775 DEBUG [org.jboss.seam.contexts.Contexts] found in session context: user 2006-03-10 09:06:45,775 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolved name to seam component 2006-03-10 09:06:45,775 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolving name: user 2006-03-10 09:06:45,775 DEBUG [org.jboss.seam.contexts.Contexts] found in session context: user 2006-03-10 09:06:45,775 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolved name to seam component 2006-03-10 09:06:45,775 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolving name: user 2006-03-10 09:06:45,775 DEBUG [org.jboss.seam.contexts.Contexts] found in session context: user 2006-03-10 09:06:45,775 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolved name to seam component 2006-03-10 09:06:45,775 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolving name: user 2006-03-10 09:06:45,775 DEBUG [org.jboss.seam.contexts.Contexts] found in session context: user 2006-03-10 09:06:45,775 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolved name to seam component 2006-03-10 09:06:45,905 DEBUG [org.jboss.mx.loading.UnifiedClassLoader] New jmx UCL with url null 2006-03-10 09:06:45,905 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@2d09e0, cl=org.jboss.mx.loading.UnifiedClassLoader3@986c47{ url=null ,addedOrder=0} 2006-03-10 09:06:45,956 DEBUG [org.jboss.mx.loading.UnifiedClassLoader] New jmx UCL with url null 2006-03-10 09:06:45,956 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@2d09e0, cl=org.jboss.mx.loading.UnifiedClassLoader3@1fac352{ url=null ,addedOrder=0} 2006-03-10 09:06:45,966 DEBUG [org.jboss.mx.loading.UnifiedClassLoader] New jmx UCL with url null 2006-03-10 09:06:45,966 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@2d09e0, cl=org.jboss.mx.loading.UnifiedClassLoader3@63a8af{ url=null ,addedOrder=0} 2006-03-10 09:06:46,006 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolving name: user 2006-03-10 09:06:46,006 DEBUG [org.jboss.seam.contexts.Contexts] found in session context: user 2006-03-10 09:06:46,006 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolved name to seam component 2006-03-10 09:06:46,026 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] Before saving state 2006-03-10 09:06:46,026 DEBUG [org.jboss.seam.core.Manager] Discarding conversation state: 5 2006-03-10 09:06:46,036 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolving name: themeManager 2006-03-10 09:06:46,036 DEBUG [org.jboss.seam.contexts.Contexts] found in application context: themeManager 2006-03-10 09:06:46,036 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolved name to seam component 2006-03-10 09:06:46,036 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolving name: user 2006-03-10 09:06:46,036 DEBUG [org.jboss.seam.contexts.Contexts] found in session context: user 2006-03-10 09:06:46,036 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolved name to seam component 2006-03-10 09:06:46,036 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolving name: themeManager 2006-03-10 09:06:46,036 DEBUG [org.jboss.seam.contexts.Contexts] found in application context: themeManager 2006-03-10 09:06:46,036 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolved name to seam component 2006-03-10 09:06:46,036 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolving name: user 2006-03-10 09:06:46,036 DEBUG [org.jboss.seam.contexts.Contexts] found in session context: user 2006-03-10 09:06:46,036 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolved name to seam component 2006-03-10 09:06:46,046 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolving name: user 2006-03-10 09:06:46,046 DEBUG [org.jboss.seam.contexts.Contexts] found in session context: user 2006-03-10 09:06:46,046 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolved name to seam component 2006-03-10 09:06:46,046 DEBUG [org.jboss.seam.contexts.Lifecycle] After render response, destroying contexts 2006-03-10 09:06:46,046 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing business process context 2006-03-10 09:06:46,046 DEBUG [org.jboss.seam.contexts.BusinessProcessContext] no process instance to persist business process state 2006-03-10 09:06:46,046 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying event context 2006-03-10 09:06:46,046 DEBUG [org.jboss.seam.contexts.Contexts] destroying: org.jboss.seam.core.manager 2006-03-10 09:06:46,046 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying conversation context 2006-03-10 09:06:46,046 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing server-side conversation context 2006-03-10 09:06:46,046 DEBUG [org.jboss.seam.contexts.Lifecycle] <<< End web request
create-profile.xhtml extract
<h:form> .. <!-- Main Page --> <div class="section"> <h1>Main Page</h1> </div> <div class="section"> <fieldset> <div class="entry_small"> <table> <tr> <td><div class="label"><h:outputLabel for="themeName">Page Title:</h:outputLabel></div></td> <td colspan="2"><div class="input"><h:inputText id="user-mainPage-title" value="#{user.mainPage.title}"/></div></td> </tr> <tr> <td><div class="label"><h:outputLabel for="profileName">Keywords:</h:outputLabel></div></td> <td colspan="2"><div class="input"><h:inputText id="user-mainPage-keywords" value="#{user.mainPage.keywords}"/></div></td> </tr> </table> </div> </fieldset> </div> .. <!-- End Section, Errors, Submit --> <div class="section"> <div class="entry errors"><h:messages globalOnly="true"/></div> <div class="entry"> <div class="label"> </div> <div class="input"> <h:commandButton value="Create" action="#{profile.create}" class="button"/> </div> </div> </div> </h:form>
The faces-config.xml
.. <!-- Navigation rules from actions --> <navigation-rule> <navigation-case> <from-action>#{profile.create}</from-action> <from-outcome>ok</from-outcome> <to-view-id>/view-profile.xhtml</to-view-id> <redirect /> </navigation-case> <navigation-case> <from-action>#{profile.create}</from-action> <from-outcome>notok</from-outcome> <to-view-id>/create-profile.xhtml</to-view-id> <redirect /> </navigation-case> </navigation-rule> ..
The ProfileAction class, this is the session bean not being called
@Stateful @Scope(EVENT) @Name("profile") @Interceptors(SeamInterceptor.class) @LoggedIn public class ProfileAction implements Profile { private static final Logger log = Logger.getLogger(ProfileAction.class.getName()); @In @Out @Valid private User user; @PersistenceContext private EntityManager em; @In private transient FacesContext facesContext; public String create() { System.out.println("*******************************"); System.out.println("Creating new profile - " + user); em.persist(user); log.info("Created profile, page = ok"); return "ok"; } public String delete() { log.info("Deleting profile - " + user); user.reset(); em.persist(user); log.info("Created profile, page = ok"); return "ok"; } public String modify() { log.info("Modify profile - " + user); em.persist(user); log.info("Modified profile, page = ok"); return "ok"; } @Destroy @Remove public void destroy() {} }
I know its my mistake, but i can't seem to see where the error is ?
TIA