我已经编写了一系列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:找不到类型为com.test.MyObject的响应对象的MessageBodyWriter,媒体类型为:application / xml; charset = UTF-8我不确定;charset=UTF-8来自哪里。我没有在Accept标题中指定。;charset=UTF-8当我将其application/json用作Accept类型时,我也看不到任何地方。另外,我正在记录我所有的请求标头,并且看不到它;charset=UTF-8出现的任何地方,因此绝对不是从我这边添加的内容。有人遇到过吗?我知道我还没有,所以我不知道为什么会这样。有什么想法吗?
1 回答
慕田峪9158850
TA贡献1794条经验 获得超7个赞
确保您的数据传输对象(例如com.test.MyObject)使用@XmlRootElement而不是@XmlElement进行注释。如果不是,这可能是原因...
添加回答
举报
0/150
提交
取消