httpclient поставил проблему - PullRequest
       15

httpclient поставил проблему

1 голос
/ 10 октября 2010

Мне дали API, в котором говорится, что оно требует:

URL http://server/a/messages.xml

HTTP Method POST (even though the soapui example  of this call uses PUT)

Input XML
<?xml version="1.0" encoding="UTF-8"?>
<message>
  <content>Post message</content>
  <parent-id nil="true"></parent-id>
</message>

Теперь я попытался использовать следующий код (где тело запроса - это xml, как показано выше снет \ r \ n in)

PutMethod putMethod = null;
putMethod = new PutMethod(url); 
putMethod.setQueryString(requestParams);
RequestEntity rEnt = new StringRequestEntity(requestBody,"text/xml",null);
putMethod.setRequestEntity(rEnt);
statusCode = client.executeMethod(putMethod);

Я продолжаю получать 500 обратно из статуса, я знаю, что это работает, как работает пример soapui (положить).

Любые идеи, какая мелочь, которую япропал.(Я тоже собираюсь постить)

Спасибо

Ответы [ 2 ]

1 голос
/ 10 октября 2010

Если вы получите код состояния 500, это ошибка сервера. Теоретически, ошибочные запросы (даже плохо сформированные) должны заставить сервер возвращать код состояния 4xx, а не возвращать код состояния, указывающий на внутреннюю ошибку на его стороне. Если этот сервер возвращает код состояния 500 для вашего запроса, это указывает на проблему на стороне сервера.

0 голосов
/ 12 октября 2010

Ну, оказалось, что POST сработал, хотя SOAPUI-запрос был PUT. Самое странное, что я чего-то не понимаю ..

Спасибо за помощь

...