Мы получили сервис 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?