cxf+spring 配置restfull风格的接口所遇到的问题

来源:互联网 发布:c语言的数据类型有哪些 编辑:程序博客网 时间:2024/06/03 22:53

1 配置过程中,由于使用的是spring 4.x版本与cxf版本2.x不匹配,好多功能不能使用。改变cxf版本3.x。

2 通过cxf发布普通的webservice接口没有问题。但是发布rest风格的webservic 是在使用@Produces(MediaType.APPLICATION_JSON)时遇到问题,没法将object转化为json。
报错—No message body writer has been found for class com.tech4j.demo.webservice.Person, ContentType: application/json”
解决:cxf3.x以上版本不提供默认的JSON Provider了,我们需要自己找一个第三方的Provider,设置给CXF框架,它才能够自动调用该Provider完成转换操作。
 我们需要在发布服务的时候,为CXF的服务factory设置这个第三方的Provider,例如Jackson。代码如下:
 
JacksonJaxbJsonProvider jaxbProvider = new JacksonJaxbJsonProvider();
factory.setProvider(jaxbProvider);
  这样一来,CXF就会自动调用这个Provider来完成符合JAXB标准的对象与JSON格式的转换工作
 
  

原创粉丝点击