2015-12-02 5 views
1

Я пробовал многие из решений на этом форуме для решения этой проблемы без везения. Я использую Apache CXF (v.2.5.11), и мне нужно отправить некоторый Json в конечную точку REST, и данные будут немаршалины к объекту Java (например, Карта).CXF - Нет читателя тела сообщения

Когда я отправляю запрос я получаю внутренняя ошибка сервера с

org.apache.cxf.jaxrs.utils.JAXRSUtils readFromMessageBody 
WARNING: No message body reader has been found for request class Map, ContentType : application/json. 

Я попробовал решение here, но с классом com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider и Maven артефакта jackson-jaxrs-json-provider (версия 2.5.4). Не повезло.

Моя конечная точка определяются как таковую:

@POST 
@Path("/test") 
@Consumes(MediaType.APPLICATION_JSON) 
@Produces(MediaType.APPLICATION_JSON) 
public Response test(Map<String, Object> test) { 
    ... 
} 

UPDATE

Так я понял, что если я вернусь к старой версии Codehaus от JacksonJsonProvider, распределительной работу штраф:

Весна:

<jaxrs:providers>   
    <bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider"/>  
</jaxrs:providers> 

С зависимостью:

<dependency> 
    <groupId>org.codehaus.jackson</groupId> 
    <artifactId>jackson-jaxrs</artifactId> 
    <version>1.9.0</version> 
</dependency> 

Так что я думаю, что-то изменилось в fasterxml 2.4+ версии.

ответ

Смежные вопросы