Harald,
I tried that and it indeed worked with out any additional
changes!
Thanks for the help,
Regards,
Samba
On Thu, Jul 23, 2009 at 12:33 PM, Kuhn, Harald <[email protected]> wrote:
> Hi Samba,
>
>
>
> I’m not really sure if XmlResponseWriter would do more than your
> suggestion in this case.
>
> Maybe it writes some additional state or java script.
>
>
>
> I would suggest to first implement the solution using XmlResponseWriter und
> try to inspect the generated XML-Response (i.e. using Firebug) and probably
> the response headers.
>
> If there is no additional content in the response (or headers), your
> solution should work as well.
>
>
>
>
>
> Regards
>
>
>
> Harald
>
>
>
>
>
> Lufthansa AirPlus Servicekarten GmbH · Hans-Böckler-Straße 7 · 63263
> Neu-Isenburg · Germany · Geschäftsführer: Patrick W. Diemer (Vorsitz), Klaus
> Busch · Vorsitzender des Aufsichtsrates: Stephan Gemkow · Handelsregister:
> Amtsgericht Offenbach/Main, HRB 8119
>
>
>
>
>
> *From:* Samba [mailto:[email protected]]
> *Sent:* Wednesday, July 22, 2009 6:19 PM
> *To:* MyFaces Discussion
> *Subject:* Re: [Trinidad] how to handle redirets for PPR requests on
> session time out
>
>
>
> Harald, I just realized that the XmlResponseWriter you referrred to is
> from trinidad jars; We are actually having a centralized valve at tomcat
> level that does the redirection.
>
> We would want that piece of code to be independent of any dependencies on
> any of the UI frameworks.
>
> Is it possible to write some thing like:
>
> final boolean isPartialRequest =
> "true".equals(req.getHeader("Tr-XHR-Message"));
>
> response.setContentType("text/xml");
>
> PrintWriterout = response.getWriter();
>
> if (isPartialRequest) {
>
> out.println("<?xml version=\"1.0\"?>");
>
> out.println("<?Tr-XHR-Response-Type ?>\n");
>
> out.println("<redirect>");
>
> out.println("</pageURL>");
>
> out.println("</redirect>");
>
> out.close();
>
> }else {
>
> response.sendRedirect(pageURL);
>
> }
>
>
> Thanks and Regards,
> Samba
>
> On Wed, Jul 22, 2009 at 8:31 PM, Samba <[email protected]> wrote:
>
> Thanks a lot Harald,
> I'll try it out and let you know how it went..
> Regards,
> Samba
>
>
>
> On Wed, Jul 22, 2009 at 8:05 PM, Kuhn, Harald <[email protected]> wrote:
>
> Hi Samba,
>
>
>
> Trinidads built-in ppr-Framework has the ability to send redirects
> initiated by the server.
>
> The only steps you have to do are:
>
> · check if it is a ppr-request
>
> o on “normal” requests use response.sendRedirect
>
> o on ppr-requests send ppr-Message containing <redirect>
>
>
>
> Following code examples works on our site
>
>
>
> final boolean isPartialRequest =
> "true".equals(req.getHeader("Tr-XHR-Message"));
>
> if (isPartialRequest) {
>
> final PrintWriter writer = resp.getWriter();
>
> final XmlResponseWriter rw = new XmlResponseWriter(writer, "UTF-8");
>
> rw.startDocument();
>
> rw.write("<?Tr-XHR-Response-Type ?>\n");
>
> rw.startElement("redirect", null);
>
> rw.writeText(pageURL, null);
>
> rw.endElement("redirect");
>
> rw.endDocument();
>
> rw.close();
>
> }
>
> else {
>
> resp.sendRedirect(pageURL);
>
> }
>
>
>
> Kind regards
>
>
>
> Harald
>
>
>
>
>
> Lufthansa AirPlus Servicekarten GmbH · Hans-Böckler-Straße 7 · 63263
> Neu-Isenburg · Germany · Geschäftsführer: Patrick W. Diemer (Vorsitz), Klaus
> Busch · Vorsitzender des Aufsichtsrates: Stephan Gemkow · Handelsregister:
> Amtsgericht Offenbach/Main, HRB 8119
>
>
>
>
>
> *From:* Samba [mailto:[email protected]]
> *Sent:* Wednesday, July 22, 2009 11:59 AM
> *To:* MyFaces Trinidad Discussion
> *Subject:* how to handle redirets for PPR requests on session time out
>
>
>
> Hi,
>
> We are facing trouble in redirecting the users to login page for PPR
> requests after session time out.
> We are having a filter that redirects the users login ( jsp ) page if
> the user is not autheticated or the authentication timed out. But after
> redirecting,
> I'm seeing the following error in firebug console:
>
> *["Invalid PPR response. The response-headers were:\nDate: Wed, 22 Jul
> 2009 09:52:49 GMT\nServer: Apache\n..."]Common1_2_7.js (line 10649)*
>
> *["Error ", TypeError: a5 has no properties message=a5 has no properties,
> " delivering XML request status changed to ", function()]*
>
>
>
> 1. I read on the internet that redirects on AJAX requests cannot be
> made server side and can only be made via javascript, is that true?
> 2. I tried adding a PPR hook to identify if the response is
> regarding related to session timeout and if yes, then would change the
> document location to login page
> however, this is not working as expected; perhaps I'm doing
> something wrong.
>
> Here is what I'm doing:
>
>
> function register(){
>
> TrPage.getInstance().getRequestQueue().addStateChangeListener(callbackMethod);
> }
>
>
>
>
> function callbackMethod(requestEvent)
> {
>
>
> if(requestEvent.getStatus()=TrXMLRequestEvent.STATUS_COMPLETE)
> {
>
> var
> response=+requestEvent.getResponseXML());
> if(has info about session timeout)
>
> documnet.location="/login.jsp";
> }
> }
>
>
> register();
>
> But I'm getting error saying requestEvent.getStatus() is
> not defined.
>
>
>
>
>
> Can some one help me how to redirect users to login page on
> PPR requestts?
>
> Thanks and Regards,
> Samba
>
>
>
>
>