http request body

FrankBooth

Erfahrenes Mitglied
Hallo,

ich habe ein kleines Problem. Ich muss per java einen http request an einen Server stellen. Der request body soll ein XML sein. Leider habe ich keine Ahnung, wie ich den Requestbody editieren kann. Kann ich ein .xml file angeben? Wie ändere ich den Body? Ist das so möglich über den output stream?

Das hab ich bisher:
Java:
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/xml");
connection.setRequestProperty("Accept", "application/xml");

connection.setDoOutput(true);


OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());

//body als string hier****
out.write("</attrs> <attrs xmlns=....")		    
		    

System.out.println(connection.getResponseMessage());
System.out.println(connection.getResponseCode());
connection.disconnect();
out.flush();
out.close();

Inhalt des XML files soll in etwa das sein. User und PW müssen noch eingegeben werden

Java:
</attrs>
<attrs xmlns="http://www.ssssss.com/sssss/sssss">
<attr name="userName" type="string">username</attr>
<attr name="password" type="string">password</attr>
</attrs>

Vielen Dank schon mal für die Hilfe
 
Zuletzt bearbeitet:
Es ist keine Datei, die hochgeladen werden muss, sondern der Request-Body muss gefüllt werden.

Zur Frage: Du kannst das XML im String aufbauen und dann in den Outputstream schreiben, wie du's ja eigentlich schon auf Zeile 12 machst,... Also es ist eigentlich kein "editieren" des Bodys, sondern das "Aufbauen" des Bodys; du machst das gleiche, wie wenn du das XML in ein File rausschreiben würdest, das geht ja beides über einen Outputstream...

Gruss,
slowy
 
Zurück