POST パラメーターを期待し、要求本文も期待する Web サービスと通信しています。このような POST リクエストは、私が持っている REST コンソールを使用して実行できることを確認しましたが、Java で Apache ライブラリを使用してそのようなリクエストを行うことができません。
以下のコードでは、Web サービスに POST でき、変数 raw_body の内容を正しく受け取ります。コメント化された 2 行のうち最初の行のコメントを外すと、Web サービスは「fname」パラメーターを受け取りますが、POST の本文は受け取りません。
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);
パラメータと本体の両方を送信するにはどうすればよいですか?