Resteasy - метод GET - передача XML - PullRequest
1 голос
/ 27 января 2012

Я пытаюсь реализовать метод GET в Resteasy.Я не мог использовать QueryParam, потому что есть много параметров поиска, включая сложный тип.Поэтому я подумал об использовании XML.В приведенном ниже коде и запрос, и ответ являются классами JAXB, сгенерированными из схемы.У меня вопрос, как клиент может передать запрос xml?

@GET
@Path("search")
@Produces(MediaType.APPLICATION_XML)
@Consumes(MediaType.APPLICATION_XML)
public SearchResponse searchTasks(SearchRequest searchReq)
{

Вот пример клиента, который я создал с Джерси.Когда я звоню, я получаю «415 Unsupported Media Type».Я передаю XML правильно?Можно ли отправить параметр XML в метод GET?

    webResource.accept(MediaType.APPLICATION_XML);
    webResource.type(MediaType.APPLICATION_XML);

    webResource.entity(req,MediaType.APPLICATION_XML);

    SearchResponse return1 = webResource.get(SearchResponse.class); 

Я развертываю это в Tomcat.

Спасибо за внимание.

1 Ответ

1 голос
/ 27 января 2012

Ошибка вызвана тем, что вы не устанавливаете заголовок Content-Type, когда делаете запрос. Убедитесь, что он установлен на Content-Type: application/xml.

Кстати, у запросов GET обычно нет тела запроса, хотя это возможно. Я предлагаю не включать один и использовать вместо него метод POST.

...