cxf+spring 配置restfull風格的接口所遇到的問題

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格式的轉換工作
 
  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章