Exception MOXy NomessageBodyWriterFounderFailure

Exception MOXy NomessageBodyWriterFounderFailure,exception,jaxb,eclipselink,resteasy,moxy,Exception,Jaxb,Eclipselink,Resteasy,Moxy,我试图使用EclipseLink MOXy作为我的JAXB提供者,但仍然存在一些问题 我已经将jaxb.properties文件与Error类放在同一个包中。尽管如此,在调用我的Web服务时,我仍然会遇到以下错误: 错误500 org.jboss.resteasy.core.NoMessageBodyWriterFoundFailure:找不到类型为br.services.model.Error的响应对象的MessageBodyWriter,媒体类型为application/xml;charse

我试图使用EclipseLink MOXy作为我的JAXB提供者,但仍然存在一些问题

我已经将
jaxb.properties
文件与Error类放在同一个包中。尽管如此,在调用我的Web服务时,我仍然会遇到以下错误:

错误500 org.jboss.resteasy.core.NoMessageBodyWriterFoundFailure:找不到类型为br.services.model.Error的响应对象的MessageBodyWriter,媒体类型为application/xml;charset=“UTF-8”

如果我在我的
错误
类中运行以下代码

publicstaticvoidmain(字符串[]args)抛出jaxbeexception
{
System.out.println(JAXBContext.newInstance(Error.class.getClass());
}
我将看到:classorg.eclipse.persistence.jaxb.JAXBContext


有人能帮我吗?

注意:我是专家组的负责人和成员

eclipselink.jar的位置

您需要确保eclipselink.jar位于以下位置(请参阅:)

jaxb.properties

您是对的,
jaxb.properties
文件需要与您的域模型位于同一个包中(
Error
class)。您需要确保它包含以下条目(请参阅:):

日食版

RESTEasy可能依赖于某些专有的JAXB参考实现扩展。我们已经添加了对MOXy的所有支持,因此您需要确保您使用的是最新版本的EclipseLink。我建议使用EclipseLink 2.4.1,可从以下链接获得:

MessageBodyReader/MessageBodyWriter

RESTEasy的编写可能(不够好)不支持可插拔的JAXB实现。在这种情况下,您可以创建一个
MessageBodyReader
/
MessageBodyWriter
来利用MOXy。下面是我创建的一个示例,用于将MOXy用作JSON绑定提供程序,您可以将其用作模型

正如MOXy附带了一个预构建的
MessageBodyReader
/
MessageBodyWriter
来启用JSON绑定(请参阅:)。度假回来后,我将添加一个预构建的
MessageBodyReader
/MessageBodyWriter`,以便更容易地将MOXy作为RESTEasy环境的XML提供者

$JBOSS_HOME/server/default/lib
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory