4

我有一个生成的 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。

在 application/xml 中调用相同的 API,它工作正常。

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

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

谢谢

4

1 回答 1

0

您可以按照此 SO 答案CXF: No message body writer found for class - 自动映射非简单资源中列出的说明操作 我修改了 text/html 的注释,但它几乎可以正常工作。也可能希望确保您的 POJO 也实现 Serializable。

于 2013-09-25T18:52:07.817 回答