【问题标题】:No message body writer has been found for response class没有找到响应类的消息正文作者
【发布时间】:2014-09-17 16:42:35
【问题描述】:

我已经用三个参数定义了一个名为 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();
}

代码有错误吗?

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

【问题讨论】:

    标签: java web-services jaxb cxf


    【解决方案1】:

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

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

    【讨论】:

    • 你是个救命恩人。谢谢 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    • 2018-10-12
    相关资源
    最近更新 更多