I have a restful service (post) that consumes (application/json) and produces (application/json). The single param for this service is an annotated java object.
I am using org.jboss.resteasy.client.ClientRequest to send the request to the service. However, I am getting this exception in the client end and the exception:
could not find writer for content-type application/json type.
Does this mean that I am missing some library jars or I have to write my own writer for application/json?
I am using resteasy 2.3.3.Final
Here are various dependencies I added to my pom that I think are probably related:
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>2.3.3.Final</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxb-provider</artifactId>
<version>2.3.4.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>2.3.4.Final</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.3.0</version>
</dependency>
I am using all libraries included (maven project), but still when running as standalone application, generated by
maven-assembly-plugin
, I got same error, but when running from IDE it works without problem.I also had problem with log4j2 logging as it was completely broken when running as standalone fat jar application (in IDE works perfectly), so I first focus on solving this:
Log4j2 configuration not found when running standalone application builded by shade plugin
So I solved problem with missing provider and log4j2 by migrating from
maven-assembly-plugin
tomaven-shade-plugin
If you have all necessary dependencies applied in your project, check if your class implements Serializable.
Maybe it solve your problem.
This is just more than enough.
Refer here: http://howtodoinjava.com/2012/12/15/how-to-write-restful-webservices-using-spring-3-mvc/
If you plan to use newer versions of resteasy that implement JAX-RS 2.0, the following dependencies should solve your problem: