<cxf:rsServer id="rsServer" address="/services"
serviceClass="com.mayank.restservice.resource.RestfulResource">
<cxf:providers>
<bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" />
<bean class="org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider" />
</cxf:providers>
</cxf:rsServer>
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="cxfrs:bean:rsServer" />
<to uri="log:body?level=INFO" />
<to uri="activemq:queue:testQueue" pattern="InOnly" />
</route>
</camelContext>
<!-- ActiveMQ-beans definition -->
<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="brokerURL" value="tcp://localhost:61616" />
</bean>
Я реализованный службу отдыха, используя поддержку компонента верблюжьей-CXF маршрутизировать ответ на ActiveMQ очереди. Теперь при запуске url службы я получаю Нет писателя тела сообщения для класса org.apache.cxf.message.MessageContentsList, ContentType: application/xml .Нет сообщения тела писателя не был найден для класса org.apache.cxf.message.MessageContentsList, ContentType: приложения/XML
Below is my RestResource class.
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.mayank.restservice.model.ChequeDetails;
import com.mayank.restservice.service.RestfulService;
public class RestfulResource {
private RestfulService restfulservice;
public void setRestfulservice(RestfulService restfulservice) {
this.restfulservice = restfulservice;
}
@Path("post")
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_XML)
public ChequeDetails persistDB(ChequeDetails chequedetails){
return restfulservice.persistDB(chequedetails);
}
}
Для тестирования, когда я попытался с помощью @Produce (APPLICATION_JSON) Я получаю ответ успеха. Не уверен, что это проблема с camel-cxf или в моем приложении?