Apache CXF: использование полезной нагрузки XML POST с набором типов контента application / x-www-form-urlencoded - PullRequest
2 голосов
/ 04 ноября 2011

Мы получили сервис REST, реализованный в Apache CXF, доступный для нашего клиента, выставленный так:

@POST
@Consumes(MediaType.APPLICATION_XML)
@Produces(MediaType.TEXT_PLAIN)
@Path("/process")
public Response processBean(Bean bean);

Объект Bean аннотирован @XmlRootElement, и все это прекрасно работает. Проблема в том, что клиент не устанавливает правильный тип контента (должен быть «application / xml», но клиент устанавливает «application / x-form-urlencoded»).

Apache CXF не считает метод допустимым для (неправильного) вызова, поскольку тип содержимого неверен. Если я изменю @Consumes на " / или application / x-www-form-urlencode", Apache CXF не знает, как анализировать полезную нагрузку POST (без MessageBodyReader). Клиент со временем изменит заголовок, но сейчас нам нужно быстрое решение.

Есть идеи? Нужно ли использовать какой-нибудь XmlMessageBodyReader?

1 Ответ

1 голос
/ 04 ноября 2011

Я бы порекомендовал использовать фильтр , чтобы изменить тип содержимого на значение, ожидаемое вашим кодом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...