我已将jersey-media-moxy
添加到我的pom.xml
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-moxy</artifactId>
<version>${JERSEY_VER}</version>
</dependency>
,并且我已经在Jersey的类名中添加了MoxyXmlFeature
,并且我有一个jaxb.properties
的文件,其中javax.xml.bind.context.factory
指向了eclipselink的实现,但是我仍然无法使MOXy作为Jersey来工作JAXB。
我得到的错误是:
MessageBodyWriter not found for media type=application/xml
确实,MOXy似乎具有用于JSON的MessageBodyWriter,但不具有用于XML的消息。
我如何设法使其正常工作? 我还尝试制作自己的MessageBodyWriter,但似乎忽略了它。
这是我的web.xml文件
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.test.rest</param-value>
</init-param>
<init-param>
<param-name>jersey.config.server.provider.classnames</param-name>
<param-value>
org.glassfish.jersey.moxy.xml.MoxyXmlFeature;
com.test.handlers.MOXyXmlProvider;
org.glassfish.jersey.media.multipart.MultiPartFeature;
com.test.handlers.GeneralExceptionMapper</param-value>
</init-param>
<init-param>
<param-name>logRestRequests</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>