2012-01-25 4 views
0

J'essaie de consigner les exceptions du client côté serveur. Je dois donc les envoyer du client au serveur.Comment envoyer un objet Exception du client GWT au serveur?

J'ai créé un service à cet effet:

public interface LoggerService extends RemoteService { 
    void logerror(Throwable e); 
} 

Du côté du client que j'utilise GWT.setUncaughtExceptionHandler (UncaughtExceptionHandler):

GWT.UncaughtExceptionHandler uncaughtExceptionHandler = new 
    GWT.UncaughtExceptionHandler() { 
      public void onUncaughtException(Throwable e) { 

      LoggerServiceAsync loggerService = GWT.create(LoggerService.class); 
      loggerService.logerror(e, new AsyncCallback<Void>() { 
       @Override 
       public void onSuccess(Void arg0) { 
        SC.say("Client's error logged"); 

       } 
       @Override 
       public void onFailure(Throwable arg0) { 
        SC.say("Unable to log client's error"); 

       } 
      }); 
      } 
     }; 

Quand je suis en utilisant le mode hébergé, il fonctionne très bien. Mais quand j'essaie de travailler avec le mode web, My LoggerService ne fonctionne pas. Je sais qu'en mode hébergé l'exception "traduit" de js en java. Mais je ne peux pas comprendre, pourquoi ma méthode de logerror (Throwable e) n'invoque pas du tout en mode web. La réponse du serveur est 200.

Répondre

0

Enfin, j'ai ajouté gwt-log pour la journalisation des exceptions du client sur le serveur.

0

GWT offre une infrastructure qui facilite le côté client logging avec support pour envoyer vos messages de journal au serveur. Il compliquera légèrement votre implémentation au début, mais pourrait établir un moyen de se connecter à votre application.

+0

merci, je vais essayer ça demain, on dirait que c'est ce que je cherche – Timofei

+0

Y at-il un moyen d'obtenir java stacktrace "normal" en utilisant la journalisation GWT en mode web? – Timofei

Questions connexes