首页 文章

org.jboss.resteasy.core.NoMessageBodyWriterFoundFailure:无法找到...的媒体类型的MessageBodyWriter:application / xml; charset = UTF-8

提问于
浏览
-1

我编写了一系列JAX-RS服务,这些服务部署在Wildfly 11上的WAR文件中 . 我有 @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) 注释,表明我想接收JSON或XML作为服务的响应 . 我有一系列用JAXB注释注释的数据传输对象 . 这些是我的服务将返回的对象 . 我已经使用JSON进行了测试,一切都按预期工作 . 但是,当我使用 "Accept: application/xml" 标头进行测试以便我可以返回XML时,我的日志中出现以下异常:

org.jboss.resteasy.core.NoMessageBodyWriterFoundFailure:找不到类型的响应对象的MessageBodyWriter:媒体类型的com.test.MyObject:application / xml; charset = UTF-8

我不确定 ;charset=UTF-8 来自哪里 . 我没有在我的 Accept Headers 中指定它 . 当我使用 application/json 作为 Accept 类型时,我也没有看到 ;charset=UTF-8 . 另外,我'm logging all of my request headers, and don'看到 ;charset=UTF-8 出现在任何地方,所以它绝对不是我身边添加的东西 .

有没有人遇到过这个?我知道我没有,所以我不知道为什么会发生这种情况 . 有什么想法吗?

1 回答

  • 1

    确保使用@XmlRootElement注释数据传输对象(例如com.test.MyObject),而不是@XmlElement . 如果没有,这可能是原因......

相关问题