GWT = Google Won’t Throw ?
12/05/2011
4 commentaires

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


