Hilfe! Ich bin total verzweifelt!
Ich sitze seit Stunden an folgendem Problem:
Mein Server (tomcat v7.0) enthält ein Servlet, über welches ich Nachrichten in eine Datenbank schreiben will:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws Exception
{
if(request.getContentLength() \> 0)
{
BufferedReader in = new BufferedReader(new InputStreamReader(request.getInputStream()));
for(String line; (line = in.readLine()) != null; )
{
//schreibe in DB oder tue was auch immer
}
}
}
Mit folgendem Code rufe ich das Servlet auf:
URL url = new URL("http://localhost:8080/MyProject/sendMsg"); //REST-Schnittstelle
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.connect();
Writer w = new OutputStreamWriter(connection.getOutputStream());
w.write("Meine Nachricht");
w.flush();
w.close();
int responseCode = connection.getResponseCode();
//Antwort auswerten usw.
Vor einigen Tagen hat alles einwandfrei funktioniert.
Allerdings liefert heute der Aufruf readLine() im Servlet nur null zurück. Als würde ich gar keine Daten senden.
Servlet-Aufruf funktioniert.
Datenbank-Zugriff funktioniert.
Die Nachricht kommt sogar richtig an, wenn ich im Browser per javascript Konsole ein POST request sende.
Ich hab sogar schon sleeps eingebaut, weil ich mir dachte, vielleicht wird der OutputStream geschlossen, bevor der andere lesen kann.
Hat allerdings nichts gebracht.
Ich hoffe es kann mir jemand helfen! Ich weiß nicht was da schief läuft.
Danke!
LG