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

ash*_*ndu 2 java web-services cxf jaxb

我已经使用这样的三个参数定义了名为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
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试为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();
}
Run Code Online (Sandbox Code Playgroud)

代码中的任何错误?

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

New*_*bie 5

从您的生成注释中删除如下所示的正斜杠.

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