[seam-issues] [JBoss JIRA] (JBSEAM-4941) Conversation-id-parameter causes WELD-000321 Exception

Marek Novotny (JIRA) jira-events at lists.jboss.org
Thu Apr 26 15:34:19 EDT 2012


    [ https://issues.jboss.org/browse/JBSEAM-4941?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12688138#comment-12688138 ] 

Marek Novotny commented on JBSEAM-4941:
---------------------------------------

Andrea, 
the activation of Weld is expected, when there is the beans.xml file in application classpath, which is very similar to seam.properties marker to enable WELD in application.

The sharing of session variable is probably heritage of Seam 2, because as you probably know WELD was born on Seam 2 idea ;-)
                
> Conversation-id-parameter causes WELD-000321 Exception
> ------------------------------------------------------
>
>                 Key: JBSEAM-4941
>                 URL: https://issues.jboss.org/browse/JBSEAM-4941
>             Project: Seam 2
>          Issue Type: Bug
>          Components: Core, Framework
>    Affects Versions: 2.3.0.BETA1
>         Environment: JBOSS AS 7.1 + JSF2 + RichFaces 4.2
>            Reporter: Andrea Martino
>              Labels: conversation
>
> If a conversation-id-parameter is defined in core:manager tag in components.xml, exceptions are thrown when should not.
> Let's consider the following pages.xml configuration, where not authenticated users are redirected to the /public/login/login.seam page:
> {code:title=pages.xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <pages login-view-id="/public/login/login.xhtml"
> 	no-conversation-view-id="/secure/home/home.xhtml"
> 	xmlns="http://jboss.com/products/seam/pages"
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>     xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.3.xsd">
> 	<page view-id="/secure/*" login-required="true">
>         <restrict>#{s:hasRole('WEB_LOGIN')}</restrict>
>     </page>
> </pages>
> {code}
> When no core:manager is configured in components.xml, and unauthenticated user is redirected to /public/login/login.seam?conversationId=2 when trying to access /secure/* pages.
> This is the expected behavior, and in Seam 2.3.0.Beta1 works a in 2.2.x branches.
> If the following is added to components.xml:
> {code:title=components.xml}
>     <core:manager concurrent-request-timeout="30000"
>         conversation-timeout="1500000"
>         conversation-id-parameter="cid"
>         parent-conversation-id-parameter="pid" />
> {code}
> an unauthenticated user is redirected to "/public/login/login.seam?cid=1", and the browser displays the following error:
> {code:title=Stacktrace}
> javax.servlet.ServletException: WELD-000321 No conversation found to restore for id 1
> 	javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
> 	org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
> 	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
> 	sunrise.ep.ui.filter.CacheControlFilter.doFilter(CacheControlFilter.java:60)
> 	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
> 	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	sunrise.ep.ui.filter.Log4jSessionIdFilter.doFilter(Log4jSessionIdFilter.java:61)
> 	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
> 	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
> 	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
> 	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
> 	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	sunrise.ep.ui.filter.CallLoggingFilter.doFilter(CallLoggingFilter.java:65)
> 	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
> {code}
> There is probably confusion with WELD and Seam conversation ids....

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the seam-issues mailing list