我已经用三个参数定义了名为AccountingData的类。

@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="accountingData")
public class AccountingData implements Serializable {
    @XmlElement(name="attr1")
    private String attr1;
    @XmlElement(name="attr2")
    private String attr2;
    @XmlElement(name = "attr3")
    private String attr3;

   //public setters and getters
}


但是,当我尝试为REST Get请求返回此对象时,出现以下错误:


  找不到响应类AccountingData的消息正文编写器。


日志给出了以下信息:apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor-:::::-找不到响应类AccountingData的消息正文编写器。

@GET
@Path("/mypath")
@Produces("/application/xml")
public AccountingData getCurrentAccountingData(){
    MyAPI api = MyAPI.getInstance();
    return api.getAcctData();
}


代码中有任何错误?

尝试了已经提到的所有解决方案,但问题仍然存在。

最佳答案

如下所示从生产注释中删除正斜杠。

@GET
@Path("/mypath")
@Produces("application/xml")
public AccountingData getCurrentAccountingData(){
    MyAPI api = MyAPI.getInstance();
    return api.getAcctData();
}

09-05 09:39