Эй,
Я пытаюсь опубликовать запрос http с телом xml.
Это мой код:
public void setBla(String url, String cookie, SomeEnum status) {
String availabilityUrl = url;
HttpPost httpPost = new HttpPost(availabilityUrl + VERSION_TEXT);
httpPost.setHeader(HttpHeaders.AUTHORIZATION, LP_AUTH_HEADER_VALUE);
httpPost.setHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_XML);
httpPost.setHeader("X-HTTP-Method-Override", HttpMethod.PUT);
httpPost.setHeader("Cookie", cookie);
httpPost.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_XML);
HttpResponse response = null;
try {
HttpEntity entity = new StringEntity("<availability><chat>" + status + "</chat></availability>", HTTP.UTF_8);
httpPost.setEntity(entity);
response = m_httpClient.execute(httpPost);
}
catch (Exception e) {
e.printStackTrace();
}
}
Я получаю неверный запрос от AppServer (400), и в отладке я вижу, что HttpEntity также имеет заголовок ContentType и его значение text / plain ...
Зачем?
Что я делаю неправильно?
Как правильно отправить запрос с телом?
РЕШЕНИЕ:
ОК .. Я понял ...
Спасибо скаффман, это было довольно близко :)
AbstractHttpEntity объявляет функцию setContentType ...
Извините за беспокойство ..
Уди