On 07/05/15 09:52, sanmitra wrote:
Question 1) To serialize my domain object containing a hashmap, I am using
org.apache.cxf.jaxrs.provider.json.JSONProvider but getting this error "No
message body writer has been found for class java.util.HashMap, ContentType:
application/json". How can I fix this ?
<jaxrs:server id="restContainer" address="/">
<jaxrs:serviceBeans>
<ref bean="myService" />
</jaxrs:serviceBeans>
<jaxrs:providers>
<bean id="jsonProvider"
class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
<property name="serializeAsArray" value="true" />
</bean>
</jaxrs:providers>
</jaxrs:server>
The default provider only operates on JAXB beans.
Question 2) If I add JacksonProvider in addition to JSONProvider, then
serializing of domain object containing hashmap works fine. My question here
is when we provide more than one json providers which one does the cxf
container uses ? Is there some preference we can set ?
<jaxrs:server id="restContainer" address="/">
<jaxrs:serviceBeans>
<ref bean="myService" />
</jaxrs:serviceBeans>
<jaxrs:providers>
<bean id="jsonProvider"
class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
<property name="serializeAsArray" value="true" />
</bean>
<bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider"/>
</jaxrs:providers>
</jaxrs:server>
The custom provider is preferred by the runtime.
Sergey
--
View this message in context:
http://cxf.547215.n5.nabble.com/No-message-body-writer-has-been-found-for-class-java-util-HashMap-tp5757111.html
Sent from the cxf-user mailing list archive at Nabble.com.