2009-10-06 9 views
8

J'essaie d'appeler un service Web dans mon code Java back-end quand c'est fonctionnant en mode hébergé. Tout se charge bien, l'appel GWT RPC fonctionne et je peux le voir sur le serveur, puis dès qu'il essaie d'appeler un service Web externe (en utilisant jax-ws) la jetée tombe avec une erreur interne du serveur (500). TOUS, mais je ne vois toujours aucune trace de pile ou cause de cette erreur. Je viens d'obtenir une ligne sur l'erreur 500 avec l'en-tête de la demande et la réponse.D'où vient la version Jetty de GWT?

Est-ce que quelqu'un sait si la jetée interne conserve un fichier journal quelque part, ou comment puis-je déboguer ce qui ne va pas?

Je suis en GWT 1.7 sur OS X 10.6.1

Edit: Je sais que je peux utiliser l'option -noserver, mais je suis vraiment intéressé à découvrir où vit cette chose!

+0

vous pouvez utiliser '-logLevel DEBUG' comme argument d'exécution et extraire la console de sortie. –

Répondre

3

De the documentation:

Vous pouvez également utiliser une production réelle serveur lors du débogage en mode hébergé. Ceci peut être utile si vous ajoutez GWT à une application existante, ou si vos exigences côté serveur ont deviennent plus que le serveur Web intégré peut gérer. Voir cet article sur comment utiliser un serveur externe en mode hébergé .

Ainsi, la solution la plus simple serait d'utiliser l'option -noserver et utiliser votre propre serveur Java - limitations beaucoup moins de cette façon, sans les inconvénients (que je connais). Si vous utilisez Google Plugin pour Eclipse, il est facile à configurer dans les propriétés du projet. Des informations détaillées sur la configuration peuvent être trouvées sur the official site.

Edit: vous pouvez essayer sans passer par le mode hébergé TreeLogger, comme décrit ici: http://blog.kornr.net/index.php/2009/01/27/gently-asking-the-gwt-hosted-mode-to-not):

il suffit de créer un fichier appelé " commons-logging.properties" à la racine de votre classpath, et ajoutez la ligne suivante :

[d'utiliser le back-end Log4j] org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

[d'utiliser le back-end jdk14] org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger

[pour utiliser le back-end SimpleLog] org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog

Edit2: le tronc de GWT supporte désormais le paramètre -logfile pour activer la journalisation de fichiers, mais il ne sera probablement pas aider dans ce cas, puisque le problème réside dans la façon dont le mode hébergé traite les exceptions, pas la manière dont il les présente.

+2

Je sais, et c'est ce que je fais, mais j'aimerais vraiment savoir d'où cette instance de Jetty est lancée, et où (si elle en a une) c'est la vie du fichier journal – rustyshelf

Questions connexes