MOXy as XML JAXB provider in Jersey 2

General Tech Bugs & Fixes 2 years ago

1 1 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 30 Aug 2022, this text provides information on Bugs & Fixes related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (1)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago

 

I've added jersey-media-moxy to my pom.xml

    <dependency>
        <groupId>org.glassfish.jersey.mediagroupId>
        <artifactId>jersey-media-moxyartifactId>
        <version>${JERSEY_VER}version>
    dependency>

and I have added MoxyXmlFeature to Jersey classnames, and I have a jaxb.properties file with javax.xml.bind.context.factory pointing to eclipselink implementation, but still I can't get MOXy to work as the Jersey JAXB.

The error I get is :

MessageBodyWriter not found for media type=application/xml

And indeed, MOXy seems to have a MessageBodyWriter for JSON, but not for XML.

How can I manage to get it working ? I also tried to make my own MessageBodyWriter but it seems to ignore it.

Here is my web.xml file

<servlet>
    <servlet-name>Jersey REST Serviceservlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainerservlet-class>
    <init-param>
        <param-name>jersey.config.server.provider.packagesparam-name>
        <param-value>com.test.restparam-value>
    init-param>
    <init-param>
        <param-name>jersey.config.server.provider.classnamesparam-name>
        <param-value>
            org.glassfish.jersey.moxy.xml.MoxyXmlFeature;
            com.test.handlers.MOXyXmlProvider;
            org.glassfish.jersey.media.multipart.MultiPartFeature;
            com.test.handlers.GeneralExceptionMapperparam-value>
    init-param>
    <init-param>
        <param-
                                                
                                                
1 views
0 shares

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.