Bonjour,
J'aimerai, depuis l'implémentation de mes services RPC appeler mes libellés internationalisés, comme pour les classes JAVA GWT pour la partie vue.
Voici le code de mon ServiceImpl :
1 2 3 4 5 6 7 8 9 10 11 12 13
| public class UtilisateurServiceUIImpl extends RemoteServiceServlet implements UtilisateurServiceRPC {
private static final String USER = "USER";
public UtilisateurDTO authenticate(String uid, String pwd) throws BadAuthException {
...
if (user == null) {
//Code erreur Ident_ERR02
throw new BadAuthException("Utilisateur inexistant !");
}
... |
Je récupère ensuite l'exception pour l'afficher à l'utilisateur (dans ma classe LoginUI.java
1 2 3 4 5 6 7 8 9 10 11 12 13
| AsyncCallback<UtilisateurDTO> callback = new AsyncCallback<UtilisateurDTO>() {
public void onFailure(Throwable caught) {
caught.printStackTrace();
String details = caught.getMessage();
if (caught instanceof BadAuthException) {
details = ((BadAuthException) caught).getMessage();
} else {
Log.error("LoginUI.check : " + caught.getMessage());
}
Label lbl_error = (Label) cadreLogin.getMember("errorMessage");
lbl_error.setContents(details);
} |
J'aimerai en faite instancier ma BadAuthException comme suit :
throw new BadAuthException(messages.err_userNotExist());
pour remonter à l'interface directement le message internationalisé, avec ma variable messages correspondant à l'interface étendant com.google.gwt.i18n.client.Messages
J'ai essayé, dans ma Servlet d'appeler mon interface messages via
private RBundleMessages messages = GWT.create(RBundleMessages.class);
mais GWT me renvois très gentiment une erreur The call failed on the server; see server log for details indéchiffrable.
Je fais donc appel à vous pour m'aider à résoudre cette problématique.
Merci d'avance.
Partager