[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
FW: [xmlblaster] session object erased????
Hi Marcel,
After looking again I tried the following change in the getParameter method of AppletServlet.java:
public static final String getParameter(HttpServletRequest req, String name, String defaultVal) {
if (name == null) {
return defaultVal;
}
//////////Old line////////////////////////////////////////
// Object obj = req.getParameter(name);
/////////////////////////////////////////////////
////New line
Object obj = req.getSession(false).getAttribute(name);
if (obj != null) {
return (String)obj;
}
return defaultVal;
}
In this way I can in runtime add an attribute to the session object
session.setAttribute("xmlBlaster/invalidate","false");
and solve the problem in a clear way.
Is there any other way to do it?
If not will, the code, be changed in a future version?
Best regards,
Eduardo
Hi Marcel,
After looking into the code of XmlBlasterAccessRaw.java I tried to add the following line to the applet parameters:
<param name="xmlBlaster/invalidate" VALUE="false" />
But the problem remains. Any tips?
Best regards,
Eduardo
-----Original Message-----
From: Eduardo Catarino
Sent: quarta-feira, 21 de Dezembro de 2005 14:46
To: 'xmlblaster at server.xmlBlaster.org'
Subject: RE: [xmlblaster] session object erased????
I Marcel,
I take a look into the AppletServlet.java and added the following lines just to see what was happening:
boolean invalidate = getParameter(req, "xmlBlaster/invalidate", false);
log.info(ME,"GET PARAMETER -> " + req.getParameter("xmlBlaster/invalidate"));
log.info(ME,"GET URI -> " + req.getRequestURI());
log.info(ME,"GET PARAMETER -> " + (String)req.getParameter("xmlBlaster/invalidate"));
log.info(ME,"GET RESULT INV -> " + invalidate);
if (invalidate == true) {
log.info(ME, "Entering servlet doGet("+I_XmlBlasterAccessRaw.CONNECT_NAME+"), forcing a new sessionId");
session.invalidate(); // force a new sessionId
}
session = req.getSession(true);
}
And the feedback was:
[21/Dez/2005 14:35:22 INFO http-8080-Processor24 org.xmlBlaster.protocol.http.appletproxy.AppletServlet-127.0.0.1-#1req3-dummyToCreateASessionId] GET PARAMETER -> null
[21/Dez/2005 14:35:22 INFO http-8080-Processor24 org.xmlBlaster.protocol.http.appletproxy.AppletServlet-127.0.0.1-#1req3-dummyToCreateASessionId] GET URI -> /Liaison/XMLBlaster/AppletServlet
[21/Dez/2005 14:35:22 INFO http-8080-Processor24 org.xmlBlaster.protocol.http.appletproxy.AppletServlet-127.0.0.1-#1req3-dummyToCreateASessionId] GET PARAMETER -> null
[21/Dez/2005 14:35:22 INFO http-8080-Processor24 org.xmlBlaster.protocol.http.appletproxy.AppletServlet-127.0.0.1-#1req3-dummyToCreateASessionId] GET RESULT INV -> false
The page that where I use the xmlblaster applet is called like this:
<frame name="alerts" src="../XMLBlaster/operationalAlertScreen.jsp?ActionType=login&xmlBlaster/loginName=operationalAlert&xmlBlaster.passwd=operationalAlert&xmlBlaster/invalidate=false" scrolling="no" target="_self">
Additionally I checked in the beginning of the page the contents of the xmlBlaster/invalidate and saw that was false.
So I'm thinking that I'm passing this parameter in the wrong way. But how can I initialize the AppletServelet in a proper way?
Best regards,
Eduardo
-----Original Message-----
From: owner-xmlblaster at server.xmlBlaster.org [mailto:owner-xmlblaster at server.xmlBlaster.org] On Behalf Of Marcel Ruff
Sent: terça-feira, 20 de Dezembro de 2005 17:28
To: xmlblaster at server.xmlBlaster.org
Subject: Re: [xmlblaster] session object erased????
Eduardo Catarino wrote:
> Hi Marcel,
>
> I changed the '.' to '/' but the results are the same. The data previously saved is erased.
>
Hi again,
please us a debugger and debug into
xmlBlaster/src/java/org/xmlBlaster/protocol/http/appletproxy/AppletServlet.java
the important parts to watch are
req.getSession(true);
...
session.invalidate(); // force a new sessionId
this code forces under some circumstances a new session,
you should see immediately what is going on,
regards
Marcel
> I launch the applets page like this:
>
>
> ----------------------Start-------------------------------
> <%
> session.putValue("xmlBlaster/invalidate", "false");
> session.putValue("xmlBlaster/loginName", "eduardo");
> session.putValue("xmlBlaster/passwd", "secret");
> %>
> <html>
>
> <head>
> <title>LIAISON</title>
> <base target="_self">
> </head>
>
> <frameset framespacing="0" border="0" frameborder="0" rows="119,*">
> <frame name="main" src="second_top.jsp" scrolling="no" target="indice" noresize>
> <frameset cols="460,*" framespacing="2" border="1" frameborder="1">
> <frameset rows="33%,33%,34%">
> <frame name="alerts" src="../XMLBlaster/operationalAlertScreen.jsp" scrolling="no" target="_self">
> <frame name="alert" src="../XMLBlaster/systemAlertScreen.jsp " scrolling="no" target="_self">
> <frame name="freeText" src="../XMLBlaster/freeTextScreen.jsp " scrolling="no" target="_self">
> </frameset>
> <frame name="main" src="" scrolling="no" target="_self">
> </frameset>
>
>
> <noframes>
> <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
>
> <p>Esta página utiliza frames, mas o seu browser não as suporta.</p>
>
> </body>
> </noframes>
> </frameset>
>
> </html>
>
> Am I doing something wrong? After the servelet is initialized the others variables, for example I have a variable that stores the application language, are changed to null.
>
> Thanks in advanced,
> And best regards to all,
> Eduardo
>
>
>
> -----Original Message-----
> From: owner-xmlblaster at server.xmlBlaster.org
> [mailto:owner-xmlblaster at server.xmlBlaster.org] On Behalf Of Marcel Ruff
> Sent: segunda-feira, 19 de Dezembro de 2005 16:09
> To: xmlblaster at server.xmlBlaster.org
> Subject: Re: [xmlblaster] session object erased????
>
> Eduardo Catarino wrote:
>
>> Hi Marcel and to all XmlBlaster Team,
>>
>> Thanks again for answering me so quickly. However I think I didn't put
>>
>
>
>> well my question. The problem is that when starting the applet a new
>> object session (Browser) is created and all the data application is
>> lost. I think is the xmlblater servelet that changes the session
>> object. I read in the requirements that the xmlbaster servelet should
>> be called before any other servelet to prevent this kind of problems.
>>
>> My question is, what should I do in order to xmlblaster applet do not
>> change the session object when it is initialized?
>>
>>
> We use in AppletServlet.java this code:
>
> boolean invalidate = getParameter(req, "xmlBlaster/invalidate", false);
>
> Try to replace the '.' with a '/', this should help,
>
> regards
> Marcel
>
>> Best regards to all,
>>
>> Eduardo Catarino
>>
>>
>>
> ------------------------------------------------------------------------
>
>> *From:* owner-xmlblaster at server.xmlBlaster.org
>> [mailto:owner-xmlblaster at server.xmlBlaster.org] *On Behalf Of *Eduardo
>>
>
>
>> Catarino
>> *Sent:* sexta-feira, 16 de Dezembro de 2005 13:43
>> *To:* xmlblaster at server.xmlBlaster.org
>> *Subject:* [xmlblaster] session object erased????
>>
>> Hello to all,
>>
>> I've developed an applet using the xmlblaster lib for applets I'm now
>> facing a problem. When the applet is integrated in the real
>> environment that uses the session object to store application data the
>>
>
>
>> applet seems to create a new session object and erases all the data
>> that was previously stored. I have been searching in the requirements
>> and tried to use the following code:
>>
>> session.putValue("xmlBlaster.invalidate", "false");
>>
>> session.putValue("xmlBlaster.loginName", "eduardo");
>>
>> session.putValue("xmlBlaster.passwd", "secret");
>>
>> in order to prevent this from happening. However this didn't solve the
>>
>
>
>> problem.
>>
>> Can someone give me a tip how to solve this?
>>
>> Merry Christmas and a Happy new year for all the xmlblaster team.
>>
>>
>
>
>
>
>