没有为响应类找到消息正文编写器

时间:2014-09-17 16:42:35

标签: java web-services jaxb cxf

我已经使用三个参数

定义了名为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();
}

代码中有错误吗?

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

1 个答案:

答案 0 :(得分:5)

从您的产品注释中删除如下所示的正斜杠。

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