-
Problème appel RPC
Bonjour à tous,
Je developpe en ce moment un application permettant d'afficher des emploi du temps. La partie cliente est faite en GWT.
Je rencontre un problème avec les appels rpc.. si quelqu'un peut m'aider ça serai super sympa! J'explique le pb :
Lors du chargement de la page de mon application, tout fonctionne bien. Les différents appels RPC se passent bien, je remonte du server ce dont j'ai envie... bref mon appli fonctionne niquel!
Le problème se pose lorsque je laisse mon navigateur ouvert avec mon application ouverte pendant un certain temps (3/4h - 1h environ). A ce moment là, si je réalise un action menant à un service RPC, le service ne fonctionne pas et passe directement dans la méthode onFailure du service. Impossible de comprendre pourquoi j'ai ce problème. Rien ne s'affiche non plus dans ma console eclipse..........
J'ai l'impression que la partie cliente est "deconnecté" de la partie server.... par contre si je rafraichi la page.. aucun problème, tout remarche!
Quelqu'un aurai-t-il une idée???
Merci d'avance pour votre aide :ccool:
Zinou
-
Message supplémentaire :
L'exception levée dans le onFailure est une StatusCodeException........ 8O
Quelqu'un a une idée???
-
Je crois connaître ton soucis. En effet, tu perds la connexion serveur.
Pour régler ce soucis, pourquoi ne ferais-tu pas un appel serveur RPC "bidon" juste pour faire comprendre à ton serveur que ton application est toujours vivante ?
Certains disent en tout cas que c'est une solution "envisageable"... A toi de voir.
-
Bonjour,
J'ai le même problème que toi. Je pense que c'est un problème de cache navigateur et que cela n'a pas de lien avec GWT.
à confirmer...
-
Bonjour et merci pour vos réponses...
J'ai finalement réussi à résoudre mon problème.
Petite explication pour ceux qui utilisent l'authentification CAS et plus particulièrement le filtre d'authentification.
En fait ce filtre récupère les requête http envoyés et vérifie que l'utilisateur a une session valide. Si la session est valide, le filtre ne fait rien, sinon il fait un response.sendRedirect sur la page de login CAS.
Le problème est que, lorsque la session n'est plus active (en laissant le navigateur ouvert trop longtemps par ex), lors d'un appel RPC, une requête est envoyée au server, interceptée par le filtre CAS, là il remarque que la session n'est plus bonne, il va donc faire un response.sendRedirect... le problème est que le service RPC ne s'attend pas à recevoir une telle response (il s'attend à recevoir le résultat du service RPC appelé à l'origine)... lors de l'analyse de la response, il considère que la response est invalide et envoi une StatusCodeException...
Voili voilou!
Merci encore d'avoir pris le temps de répondre!