Content-Type-header für POST-Requests

Habe ich in Java (ähnlich wie in anderen Sprachen, problem sollte sprachunabhängig) eine POST-Anforderung ich bin an den server senden. Die POST-Anforderung enthält nur einige POST-Parameter, die keinen Körper.

Ich haben im Grunde diese:

postData = URLEncoder.encode("user", "UTF-8") + "=" + URLEncoder.encode("jackychan", "UTF-8");
//HttpSessionToken.setRequestProperty("Content-Type", "application/xml");
OutputStream postContent = (OutputStream)HttpSessionToken.getOutputStream();
postContent.write(postData.getBytes("UTF-8"));

Diese funktioniert einwandfrei. Die Frage ist, um die zweite Zeile, ein Kommentar im moment. Einkommentieren dieser Zeile Ruinen meinem code, okay meine Daten nicht in XML, so kann ich dies verstehen. Einige REST-Dienste, die Sie POSTEN, um ein ganzes XML-Dokument, aber keine POST-Parameter, so etwas wie dieses

postData = "<xml> whatever xml structure here </xml>"  
HttpSessionToken.setRequestProperty("Content-Type", "application/xml");
OutputStream postContent = (OutputStream)HttpSessionToken.getOutputStream();
postContent.write(postData.getBytes("UTF-8"));

Diese funktioniert auch. Der Unterschied ist die post-Daten wird jetzt eine XML-und der content-type gesetzt ist.

Die Frage ist nun, was passiert, wenn ein Dienst erfordert, POST-Parameter wie in Beispiel 1 UND eine xml-Körper wie in Beispiel 2. Wie kann ich dies tun? Wenn das nie passiert, warum ist es nicht geschehen?

Dank, A.

InformationsquelleAutor AndyAndroid | 2011-10-15

Schreibe einen Kommentar