【问题标题】:No message body writer / JAX-RS / CXF没有消息正文编写器/JAX-RS/CXF
【发布时间】:2012-07-05 21:30:59
【问题描述】:

我有一个生成的 JAXB 类(来自 XSD)。我能够以 XML 和 JSON 的形式返回,但是只要将 text/html 添加到我的 Produces 注释中,我就会得到:

"No message body writer for response class Employee"

这是我的 API:

@GET
@Path("/employee/{employeeId}/getEmployeeById")
@Produces({"application/xml", "application/json", "text/html"})
public Employee getEmployeeById(@PathParam("employeeId") String employeeId);

这是我的客户电话(使用 CXF 客户端):

WebClient client = WebClient.create(basePath);
    client = client.path("employeeervice/employee/1/getEmployeeById").
    accept(MediaType.TEXT_HTML_TYPE).type(MediaType.TEXT_HTML_TYPE);

客户端响应为 500。

调用同一个API传入application/xml,效果很好。

Employee e = client.path("employeeservice/employee/1/getEmployeeById")
    .accept(MediaType.APPLICATION_XML_TYPE).get(Employee.class);

我需要为 text/html 做些不同的事情吗?

谢谢

【问题讨论】:

    标签: cxf jax-rs


    【解决方案1】:

    您可以按照此 SO 答案CXF: No message body writer found for class - automatically mapping non-simple resources 中列出的说明进行操作 我修改了 text/html 的注释,但它几乎可以正常工作。也可能希望确保您的 POJO 也实现 Serializable。

    【讨论】:

      猜你喜欢
      • 2012-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-22
      • 1970-01-01
      • 1970-01-01
      • 2010-12-24
      相关资源
      最近更新 更多