Comment puis-je afficher à l'aide de Java et comprennent des paramètres et un raw du corps de la requête?

Je suis en communication avec un service web qui attend un paramètre POST et également s'attendre à du corps de la Requête. J'ai confirmé qu'un tel POSTE, la demande peut être effectuée à l'aide d'un RESTE de la Console que j'ai, mais je suis incapable de faire une telle demande en Java à l'aide d'Apache bibliothèques.

Dans le code ci-dessous, je suis en mesure de publier sur le service web, et il reçoit correctement le contenu de la variable raw_body. Si je décommentez la première des deux lignes commentées, le service web reçoit le "fname" paramètre, mais il ne reçoit plus le corps de la POSTE.

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.RequestEntity;
...

HttpClient httpClient = new HttpClient();
String urlStr = "http://localhost:8080/MyRestWebService/save";
PostMethod method = new PostMethod(urlStr);
String raw_body = "This is a very long string, much too long to be just another parameter";
RequestEntity re = new StringRequestEntity(raw_body, "text/xml", "UTF-16");
//method.addParameter("fname", "test.txt");
//httpClient.getParams().setParameter("fname", "test.txt");
method.setRequestEntity(re);

Comment puis-je transmettre le paramètre et le corps?

OriginalL'auteur Data Skeptic | 2012-10-01