没有消息正文编写者/ JAX-RS / CXF

时间:2012-07-05 21:30:59

标签: cxf jax-rs

我有一个生成的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,我需要做些什么吗?

感谢

1 个答案:

答案 0 :(得分:0)

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