Apache CXF:使用“application / x-www-form-urlencoded”内容类型集来使用XML POST有效负载

时间:2011-11-04 14:17:31

标签: rest cxf

我们在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吗?

1 个答案:

答案 0 :(得分:1)

我建议您查看使用filter将内容类型修改为您的代码所期望的值。