Archive

Archives pour 05/2011

GWT = Google Won’t Throw ?

Connaissez-vous l’histoire de l’exception dont on a perdu trace ?

Vous le savez probablement, chaque service GWT-RPC est en réalité une servlet. Petit rappel :

  • les appels Ajax GWT-RPC sont réalisés en POST,
  • le nom de la méthode du service à appeler est spécifié dans la requête envoyée,
  • l’appel est traité dans la méthode doPost(HttpServletRequest request, HttpServletResponse response), qui se charge de désérialiser les paramètres, faire appel à la bonne méthode du service par réflexion, puis sérialiser la réponse.

Que se passe t’il lorsque la méthode du service jette une exception ? Deux possibilités :

  • soit l’exception est déclarée dans l’interface du service, et celle-ci sera sérialisée jusqu’au client, qui pourra la traiter correctement,
  • soit ce n’est pas le cas (y compris pour les RuntimeException), et le client recevra une erreur 500, et le tristement célèbre :

    The call failed on the server; see server log for details

Lire la suite…

Share