【发布时间】:2011-11-04 14:17:30
【问题描述】:
我们在 Apache CXF 中实现了一个 REST 服务,可供我们的客户端使用,如下所示:
@POST
@Consumes(MediaType.APPLICATION_XML)
@Produces(MediaType.TEXT_PLAIN)
@Path("/process")
public Response processBean(Bean bean);
Bean 对象带有 @XmlRootElement 注释,这一切都很好。问题是客户端没有设置正确的内容类型(应该是“application/xml”但客户端设置了“application/x-form-urlencoded”)。
由于内容类型错误,Apache CXF 没有将该方法重新识别为(不正确的)调用的有效方法。如果我将@Consumes 更改为“/ 或 application/x-www-form-urlencode”,Apache CXF 不知道如何解析 POST 有效负载(没有 MessageBodyReader)。 客户端最终会更改标题,但我们现在需要快速修复。
有什么想法吗?我需要使用一些 XmlMessageBodyReader 吗?
【问题讨论】: