Read Request Body

Status
Nicht offen für weitere Antworten.

kloakenratte

Mitglied
Hallo!


Also ich krieg in ein Servlet im GET eine Anfrage und will nun das ganze weiterleiten an ein anderes Servlet ins POST. Vor dem Aufruf des zweiten Servlets will ich in den POST Body ein xml reinschreiben, um dieses dann im zweiten Servlet auslesen zu können. Soweit krieg ich das hin, also das Aufrufen des zweiten Servlets. Krieg auch keinen Fehler beim Schreiben des xmls. Aber wenn ich im zweiten Servlet das xml auslesen will, ist da nichts.

--- Hier der Code zum Schreiben des XML: ---
URL objUrl = new URL(strNewRequestString);

HttpURLConnection httpConnection = (HttpURLConnection) objUrl.openConnection(); httpConnection.setRequestMethod("POST");
httpConnection.setRequestProperty("Content-Length", "" + Integer.toString(strXmlData.getBytes().length));
httpConnection.setDoInput(true);
httpConnection.setDoOutput(true);
httpConnection.setRequestProperty("Cookie", "JSESSIONID=" + strSessionID);

OutputStreamWriter objOutStreamWriter = new OutputStreamWriter(httpConnection.getOutputStream());
objOutStreamWriter.write(strXmlData);
objOutStreamWriter.flush();
objOutStreamWriter.close();
...

--- Auslesen des XML im zweiten Servlet: ---
BufferedReader objBuffReader = request.getReader();

objXmlRequestBuffer = new StringBuffer(); // prepare result string buffer
char[] c = new char[51200];

for (int n; (n = objBuffReader.read(c)) != -1; )
objXmlRequestBuffer.append(new String(c, 0, n));

objBuffReader.close();

System.out.println("length " + objXmlRequestBuffer.length()); // --> ist 0

strRequestXML = objXmlRequestBuffer.substring(objXmlRequestBuffer.indexOf("<message>")); // ERROR an dieser Stelle


...

Hat vielleicht einer eine Idee wieso das nicht funktioniert?

DANKE!

Sandra
 

kloakenratte

Mitglied
Hallo!

Also, mein Servlet1 wird im doGet aufgerufen. In diesem doGet baue ich mir dann den Aufruf von Servlet2 zusammen. Dieses soll aber im doPost von Servlet1 aufgerufen werden. Weiters möchte ich einen String (xml Daten) in den Post-Body schreiben, damit Servlet2 dieses xml dann verarbeiten kann. Das heißt, ich muss in den Request ein xml schreiben, sollte eben beim ersten Codestück gelöst sein (weiß aber eben nicht, ob es auch wirklich funktioniert). Und Servlet2 soll dieses xml dann auslesen (zweites Codestück). Im Endeffekt erhält Servlet2 aber nichts und ich weiß beim besten Willen nicht weshalb.
 
M

maki

Gast
War da nicht ein Problem damit request#getReader 2 x aufzurufen?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Servlet Request.getAttribut returns null from JSP Select-Box Allgemeines EE 4
M URL Servlet Request getParameter Allgemeines EE 2
G Request zu richtiger App leiten Allgemeines EE 2
J Client Request vom Server aus. Allgemeines EE 2
A Servlet erkennt request Objekt nicht Allgemeines EE 8
E Performance-Problem beim ersten Request Allgemeines EE 4
G jeder request eigener Thread ? Allgemeines EE 4
R Ist es möglich die Request paramter auf "null" zu Allgemeines EE 3
D Objekt geht bei request verloren Allgemeines EE 9
G Http request bekommen parsen und response senden Allgemeines EE 1
G Ablauf bei Request Allgemeines EE 4
M "Auto Client-Request" oder Server-Push oder Ajax – Allgemeines EE 2
N Servlet-Request abbrechen? Allgemeines EE 3
R Formulardaten mit request.getAttribute(name) Allgemeines EE 4
H request in JSP Seite ? Allgemeines EE 4
F Wie auf request.params mittels ${} zugreifen? Allgemeines EE 7
C JSF: request nach ausführung killen? Allgemeines EE 7
J init-Methode eines Servlet ausführen ohne vorherigen request Allgemeines EE 2
B Java-Client für eBaySOAP-API liefert HTTP(400) Bad Request Allgemeines EE 2
TRunKX Wie kriege ich die Auswahl in meinen Server Request? Allgemeines EE 7
S request.getParameter() holt NULL Allgemeines EE 4
K Request Problem Allgemeines EE 3
B NullPointer ohne message body? Allgemeines EE 3

Ähnliche Java Themen


Oben