Вопрос

Я использую Apache Commons HttpClient PostMethod 3.1.

В классе PostMethod также есть три метода для установки тела запроса метода POST:

setRequestBody(InputStream body)
setRequestBody(String body)
setRequestBody(NameValuePair[] parametersBody);

ИмяЗначениеПара API

Первые два метода устарели.Кто-нибудь знает, почему?Потому что, если я хочу поместить XML в тело запроса, NameValuePair мне не поможет.

Кто-нибудь знает обходной путь или решение?

Это было полезно?

Решение

Javadoc говорит:

Устарело.используйте setRequestEntity (RequestEntity)

RequestEntity имеет множество разработчиков, а именно:

ByteArrayRequestEntity, FileRequestEntity, InputStreamRequestEntity, MultipartRequestEntity, StringRequestEntity

Используйте тот, который вам подходит:

  • если ваш XML находится в String, использовать StringRequestEntity
  • если он находится в файле, используйте FileRequestEntity

и так далее.

Другие советы

Да, так, например,

post.setRequestEntity( new StringRequestEntity( xml ) );

вместо

post.setRequestBody( xml );
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top