2009-08-05 14 views
1

Ich erhalte einen ungewöhnlichen Fehler beim Ausführen meiner Anwendung und frage mich, ob jemand schon einmal darauf gestoßen ist. Ich verwende Google Protokoll Puffer, mein Servlet eine Anforderung nimmt und versucht, es zu verarbeiten, habe ich den folgenden Code:Interner Serverfehler

InputStream s = request.getInputStream(); 
AdRequest adRequest = AdRequest.parseFrom(s); 

Nach der zweiten Zeile der Ausführung habe ich den Fehler unten in myeclipse Debugger:

Quelle nicht gefunden für ApplicationFilterChain.internalDoFilter (ServletRequest, ServletResponse) Zeile: 310

Ich benutze Jboss App Server. Ich erhalte einen HTTP-Statuscode 500: Interner Serverfehler.

Hat jemand irgendwelche Vorschläge/Gedanken?

+0

Wenn Sie alle Codezeilen in Ihrer doGet-Methode auskommentieren, wird der Fehler trotzdem ausgegeben? Wer ruft die internalDoFilter-Methode auf? Klingt nach etwas, das der Servlet-Container anruft, daher könnte es etwas in Ihrer Web-App-Konfiguration sein (insbesondere ein Filter) und überhaupt nichts mit der AdRequest zu tun haben. –

+0

Stapelverfolgung? Ich habe einen 500: internen Serverfehler vorher bekommen. Es gibt mindestens 2 Möglichkeiten, die passieren können. – stevedbrown

+0

Ich habe alle Codezeilen kommentiert und habe mein Client-Programm ausgeführt, das das Servlet dieses Mal aufruft, ist es mit HTTP-Status 200 erfolgreich. – msharma

Antwort

1

Ich habe das Problem gelöst. Die Datei protobuffers.jar wurde nicht in die WAR-Datei meines Projekts aufgenommen, obwohl ich das Glas zu meinem Projekt hinzugefügt hatte. MyEclipse enthielt es nicht. Als ich dem Pfad zum Jboss-Server folgte und in den .war hineinschaute, fand ich heraus, dass das Glas nicht da war. Nach dem Kopieren in den Jboss /.../ default/server/deploy/myproject.war/WEB-INF/lib Verzeichnis ist der Fehler verschwunden und ich kann eine Anfrage an das Servlet senden.

Danke.

Grüße.

0

Ich würde Ihre jboss Logs Server // log/server.log überprüfen (vorausgesetzt, Sie haben es nicht anderswo konfiguriert), und Sie erhalten eine bessere Beschreibung des Problems.

Der interne Serverfehler bedeutet einfach, dass eine nicht behandelte Ausnahme die Filterkette durchlaufen hat.