Я добавил jersey-media-moxy
в свой pom.xml
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-moxy</artifactId>
<version>${JERSEY_VER}</version>
</dependency>
и добавил MoxyXmlFeature
к именам классов в Джерси, и у меня есть файл jaxb.properties
с javax.xml.bind.context.factory
, указывающим на eclipselinkреализация, но все же я не могу заставить МОКСИ работать в качестве Джерси JAXB.
Я получаю ошибку:
MessageBodyWriter not found for media type=application/xml
И действительно, MOXy, похоже, имеет MessageBodyWriter для JSON, но не для 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>