Как я могу POST использовать Java и включить параметры и необработанное тело запроса?

Я общаюсь с веб-сервисом, который ожидает параметр POST, а также ожидает тело запроса. Я подтвердил, что такой запрос POST можно выполнить с помощью имеющейся у меня консоли REST, но я не могу сделать такой запрос в Java с использованием библиотек Apache.

В приведенном ниже коде я могу POST к веб-сервису, и он правильно получает содержимое переменной raw_body. Если я раскомментирую первую из двух закомментированных строк, веб-служба получит & quot; имя_файла & quot; параметр, но он больше не получает тело сообщения 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);

Как я могу передать как параметр, так и тело?

Ответы на вопрос(2)

Ваш ответ на вопрос