@ Riccardo верен, ресурс Restlet на сервере проверяет заголовок Content-Type запроса клиента, чтобы убедиться, что объект, который вы отправляете на сервер, имеет тип, который он может поддерживать. Вот пример Restlet 1.1 . Вы заметите, что этот ресурс настроен на ожидание XML:
// Declare the kind of representations supported by this resource.
getVariants().add(new Variant(MediaType.TEXT_XML));
Так что, возможно, ваша серверная сторона не объявляет представления, которые она может обработать, или это происходит, и автоматическое согласование типа мультимедиа Restlet обнаруживает, что ваш запрос не имеет установленного Content-Type: text / xml (или application / xml) .
Таким образом, как рекомендует @Riccardo, используйте Apache HttpClient и вызовите HttpRequest.setHeader («Content-Type», «text / xml») или используйте API библиотеки клиента Рестлета для этого (он добавляет еще один уровень абстракции поверх HTTP-коннектор клиента, такой как Apache HttpClient).