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
>
>
>
>
>

Reply via email to