I have some news. it is start working for me, but to achieve that I have to add 
cookie parameter JSESSIONID to identify the session in which that conversation 
was originally created.

ContextFilter and the underlying code uses the HTTP-Session to restore 
Conversation-Entries.

If I make request with plain http-get request like:
http://server-host/context/servlet/some-servlet?cid=2
from another browser - it doesn't work. 

If I use two tabs of FireFox - in the first tab I open the conversation, in the 
second I make a servlet-request - IT WORKS.

So, it start working after I've added JSESSIONID cookie to my call 
servlet-request.
I make a programmatic call (not a browser reauest), so I have control over 
cookies.
But it seems that it is impossible to do it if you don't know the JSESSIONID 
value or have no controll over cookies. To do it via plain URL approach you 
have to turn-off cookies in the browser to add the jsessionid parameter to the 
get-request.
>From one side - it add some additional security, from the other side - you not 
>always can use it, since you are not always can establish the HTTPSession for 
>that


Here is the code which is used to load current Conversation context.
It is stored in the sessionContext, which is based on the HTTPSession object

org.jboss.seam.contexts.Lifecycle
  |    public static void beginRequest(ServletContext servletContext, 
HttpSession session, ServletRequest request) 
  |    {
  |       log.debug( ">>> Begin web request" );
  |       Contexts.eventContext.set( new WebRequestContext( 
ContextAdaptor.getRequest(request) ) );
  |       Contexts.sessionContext.set( new WebSessionContext( 
ContextAdaptor.getSession(session) ) );
  |       Contexts.applicationContext.set( new 
WebApplicationContext(servletContext) );
  |       Contexts.conversationContext.set(null); //in case endRequest() was 
never called
  |    }
  | 
  | org.jboss.seam.core.ConversationEntries 
  |    public static ConversationEntries instance()
  |    {
  |       if ( !Contexts.isSessionContextActive() )
  |       {
  |          throw new IllegalStateException("No session context active");
  |       }
  |       return (ConversationEntries) 
Component.getInstance(ConversationEntries.class, ScopeType.SESSION);
  |    }
  | 

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4122867#4122867

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4122867
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to