2013-10-18 44 views
1

集合我定義一個接口IUSER並希望返回IUSER的集合,因爲這:
@GET @Path("getuserlist/{id}/") @Produces("application/xml") List<IUser> getUserList(@PathParam("id") String id);可以CXF-RS返回接口

當我下CXF 2.7.6部署爲REST服務,我得到了以下錯誤: 未找到響應類ArrayList的消息正文writer。 誰能幫我解決這個問題?謝謝!

回答

0

嘗試將ArrayList包裝在POJO中,例如,像這樣:

@XmlRootElement 
@XmlAccessorType(XmlAccessType.FIELD) 
public class SimplePOJO 
{ 
    private List<IUser> list; 

    public List<IUser> getList() { 
     return list; 
    } 

    public void setList(List<IUser> list) { 
     this.list = list; 
    } 
} 

然後改變你的服務來回報POJO類:

@GET 
@Path("getuserlist/{id}/") 
@Produces("application/xml") 
SimplePOJO getUserList(@PathParam("id") String id); 

在服務實現,你所要做的就是實例化SimplePojo類類,並設置你的對象implemeting名單您的IUser接口通過調用setList()方法並返回SimplePOJO類。

您可能需要將以下內容添加到您的IUser接口以及實現您的IUser的類。

@XmlRootElement 
@XmlAccessorType(XmlAccessType.FIELD) 
+0

它解決了您的問題嗎? –

相關問題