Se com.google.gwt.de l'utilisateur.client.rpc.StatusCodeException: 0 dans GWT
J'ai parfois/souvent obtenir cette Exception dans GWT, mais je ne sais pas pourquoi:
SEVERE: com.google.gwt.user.client.rpc.StatusCodeException: 0
java.lang.RuntimeException: com.google.gwt.user.client.rpc.StatusCodeException: 0
at Unknown.java_lang_RuntimeException_RuntimeException__Ljava_lang_Throwable_2V(Unknown Source)
at Unknown.de_ctech24_simplynews_web_client_util_SimpleCallback_$onFailure__Lde_ctech24_simplynews_web_client_util_SimpleCallback_2Ljava_lang_Throwable_2V(Unknown Source)
at Unknown.com_google_gwt_user_client_rpc_impl_RequestCallbackAdapter_$onResponseReceived__Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter_2Lcom_google_gwt_http_client_Request_2Lcom_google_gwt_http_client_Response_2V(Unknown Source)
at Unknown.com_google_gwt_http_client_Request_$fireOnResponseReceived__Lcom_google_gwt_http_client_Request_2Lcom_google_gwt_http_client_RequestCallback_2V(Unknown Source)
at Unknown.com_google_gwt_http_client_RequestBuilder$1_onReadyStateChange__Lcom_google_gwt_xhr_client_XMLHttpRequest_2V(Unknown Source)
at Unknown.<anonymous>(Unknown Source)
at Unknown.com_google_gwt_core_client_impl_Impl_apply__Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2(Unknown Source)
Caused by: com.google.gwt.user.client.rpc.StatusCodeException: 0
at Unknown.java_lang_RuntimeException_RuntimeException__Ljava_lang_String_2Ljava_lang_Throwable_2V(Unknown Source)
at Unknown.com_google_gwt_user_client_rpc_StatusCodeException_StatusCodeException__ILjava_lang_String_2V(Unknown Source)
at Unknown.com_google_gwt_user_client_rpc_impl_RequestCallbackAdapter_$onResponseReceived__Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter_2Lcom_google_gwt_http_client_Request_2Lcom_google_gwt_http_client_Response_2V(Unknown Source)
at Unknown.com_google_gwt_http_client_Request_$fireOnResponseReceived__Lcom_google_gwt_http_client_Request_2Lcom_google_gwt_http_client_RequestCallback_2V(Unknown Source)
at Unknown.com_google_gwt_http_client_RequestBuilder$1_onReadyStateChange__Lcom_google_gwt_xhr_client_XMLHttpRequest_2V(Unknown Source)
at Unknown.<anonymous>(Unknown Source)
at Unknown.com_google_gwt_core_client_impl_Impl_apply__Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2(Unknown Source)
Après avoir passé quelque temps sur Google j'ai trouvé ceci: http://www.mail-archive.com/[email protected]/msg79537.html
Il y a une intéressante indication a été donnée: elle s'est produite, si vous débranchez votre réseau sans fil et de vous connecter à nouveau - ensuite, l'erreur survient. J'ai essayé sur mon portable - alors, l'exception se produit.
Un autre problème est cette exception se pose parfois (pas vraiment toujours à la même heure ou lors de l'exécution d'une action spécifique de sorte apparemment aléatoire) bien que la connexion réseau est bien. Je ne sais pas pourquoi cela arrive, ni ce qu'est la bonne façon de gérer elle - sûr que je peux les attraper et de les ignorer. Mais la demande ne va jamais vers le serveur et l'action n'est pas exécutée - pas tout à fait une bonne gestion des erreurs.
Quelques données à propos de cette appli - peut-être que cela aide le rétrécissement ou l'espérons résoudre le problème:
- GWT 2.4 avec Sencha GXT 3.0.1
- Se produit sur tous les principaux navigateurs dans la version la plus récente: IE, Chrome, Firefox
- À l'aide de Cloudflare (j'ai aussi essayé sans, mais c'est le même problème. Donc, cela ne semble pas être à l'origine par l'utilisation de ce Proxy-Service.)
Merci beaucoup pour chaque indicateur et chaque idée de comment gérer/les résoudre.
Je communique à l'aide de GWT-RPC.
avez-vous réussi à résoudre ce problème ou à travailler autour d'une certaine manière? Parce que je suis confronté tout à fait semblable situation de droit et n'a aucune idée sur comment résoudre ou de débogage...
Je n'ai pas trouvé un moyen de résoudre ce problème. Sry.
ahh, pas de problème, merci pour la réponse rapide!
OriginalL'auteur Patrick Meier | 2012-09-27
Vous devez vous connecter pour publier un commentaire.
Car il n'y a pas de code de statut HTTP de 0, cela ne semble pas être depuis le serveur, il pourrait être intéressant de tester à l'aide de Firebug ou quelque chose, juste pour s'assurer qu'il n'y a pas de mauvaise réponse, comme ce retour.
Au lieu de cela, ce n'est presque certainement à partir du navigateur lui-même, soit la connexion a expiré ou a été supprimée par le serveur, ou le navigateur ne pouvais pas atteindre le serveur (dns incorrecte, bad gateway, perdu le wifi, le serveur n'est pas disponible).
Traiter cela comme n'importe quel inattendu de la panne du serveur - peut-être revenir et essayer de nouveau, l'affichage d'un message à l'utilisateur, journal d'une erreur et d'envoyer que lorsque les connexions sont à nouveau au travail.
Le fait que cela se passe dans tous les navigateurs points à un réseau ou un serveur en question - il est extrêmement peu probable que tous les navigateurs ne s'acquittent pas de façon imprévisible ensemble. Ce fait rend également plus facile à déboguer, vous pouvez utiliser votre navigateur préféré est les outils de débogage.
Si la même chose se produit dans deux cas différents, il semble probable que ces deux affaires sont liées. Malheureusement, sans les informations de débogage, il n'y a pas beaucoup que je peux suggérer que je n'ai pas déjà regarder le trafic réseau lorsque ces "aléatoire" défaillances se produisent, et je pense que vous pourrez détecter que le serveur ne parvient pas à répondre correctement, pour un réseau de motifs ou autrement. Qu'est ce que le '0' état du code, quel que soit le navigateur que j'ai vu.
Vous êtes de droite. Si j'ai plus d'infos je reviens. Merci beaucoup.
OriginalL'auteur Colin Alworth
Ce qui nous arrive si notre couche d'authentification détermine qu'une session a expiré et redirige une demande de RPC à la page de connexion sur un autre hôte. Depuis requêtes AJAX ne peut pas aller vers un autre hôte, le navigateur quitte la demande et des signaux de code de statut de 0. Voir https://code.google.com/p/google-web-toolkit/issues/detail?id=2858
Sa fou trop parce que GWT va jeter un StatusCodeException avec le code 0, même si le code HTTP qui apparaît dans Firebug /Chrome Inspecteur est clairement un 302.
OriginalL'auteur David Mann
Bien que l'affiche originale a probablement eu des problèmes avec leur réseau de connexion j'ai eu la même erreur aujourd'hui à l'intérieur de GWT en mode hébergé. Et pas parfois, mais tout le temps.
J'ai maintenant compris, et j'aimerais le partager ici afin que d'autres personnes qui recherchent une solution de l'0 code d'état problème de la trouver.
Si vous utilisez la Rpc des jetons de sécurité GWT fournit (comme dans cette explication: http://www.gwtproject.org/doc/latest/DevGuideSecurityRpcXsrf.html) contre le cross site scripting, mais vous oubliez de définir le jeton de sécurité pour une quelconque raison, une des choses que vous pourriez rencontrer, c'est le résultat égal à zéro.
J'ai conçu mon webapplication de sorte que la plupart des appels RPC sont pour la plupart fabriqués à l'intérieur d'un cadre. Aujourd'hui, j'ai besoin de créer un service RPC à la main. Avez oublié de mettre le RPCToken, a obtenu le vide de réponse du serveur.
Espère que cela aide quelqu'un.
OriginalL'auteur prinsarian
J'ai trouvé que si vous passez un appel rpc sur le serveur (Thread.wait()) et le navigateur est actualisé ensuite sur le côté client juste avant qu'il charge de nouveau la page, il va appeler le onFailure méthode de l'attente de rappel avec ce code de statut qui suggère qu'il orginates dans le client ou que c'est un code d'erreur générique pour les non-spécifiques pris exceptions.
OriginalL'auteur user2219808