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