The registered message body readers compatible with the MIME media type are: application/json;charset=UTF-8

This problem is known issue and various answer is already available in stackoverflow.

Now I am suggesting you to follow some suggestions to solve your issue.

Suggestion#1:

You can add genson jar file by using the following dependency in your pom.xml file

<dependency>
    <groupId>com.owlike</groupId>
    <artifactId>genson</artifactId>
    <version>1.4</version>
</dependency>

Documentation can be found at: https://owlike.github.io/genson/

Then clean your project and build and then run.

Resource Link: https://stackoverflow.com/a/25754441/2293534

Suggestion#2:

You can add jersy bundle jar file in your pom.xml file.

<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-bundle</artifactId>
    <version>1.19.3</version>
</dependency>

This may also can solve the issue sometimes.

Resource Link: https://stackoverflow.com/a/23192776/2293534

Suggestion#3:

Check your entitiy contains @XmlRootElement annotations or not. If not, then please add it.

Resource Link: https://stackoverflow.com/a/7388605/2293534

Suggestion#4:

jonbros suggested that instead of using the assembly plugin for maven use the shade plugin!

You can read Read problem and full solution from here: http://jersey.576304.n2.nabble.com/issue-with-POST-when-packaging-into-jar-td5460103.html

Resource Link: https://stackoverflow.com/a/4955831/2293534


The error indicates JerseyClient may not have been configured properly to scan Provider packages. Check your web.xml if 'jersey.config.server.provider.packages' property is configured to include 'com.prom.via.rest.dto' package that contains your JAXB classes.

<servlet-name>Jersey REST Service</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
     <!-- Register resources and providers under com.prom.via.rest.dto package. -->
    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>com.prom.via.rest.dto</param-value>
    </init-param>
</servlet>

Also, as SkyWalker indicated check if RedeemTransactionDetails is annotated with @XmlRootElement annotation or not.