-
Notifications
You must be signed in to change notification settings - Fork 6k
Description
Description
Swagger got javax.ws.rs.client.ResponseProcessingException: No message body reader has been found for class>
I'm using swagger to generate my client code with JERSEY 2 Client lib. ( on server side - java-cxf )
I'm running my getUser() REST call successfully to my server and get back response code 200 with my returned USER Object Json representation.
But when try to convert the JSON into my USER Object (which is generated by swagger)
I'm getting
javax.ws.rs.client.ResponseProcessingException: No message body reader has been found for class com.amdocs.xps.restful.services.v1.swagger.client.model.User, ContentType: application/json
at org.apache.cxf.jaxrs.impl.ResponseImpl.reportMessageHandlerProblem(ResponseImpl.java:433)
at org.apache.cxf.jaxrs.impl.ResponseImpl.doReadEntity(ResponseImpl.java:384)
at org.apache.cxf.jaxrs.impl.ResponseImpl.readEntity(ResponseImpl.java:325)
at org.apache.cxf.jaxrs.impl.ResponseImpl.readEntity(ResponseImpl.java:313)
at com.amdocs.xps.restful.services.v1.swagger.client.invoker.ApiClient.deserialize(ApiClient.java:503)
at com.amdocs.xps.restful.services.v1.swagger.client.invoker.ApiClient.invokeAPI(ApiClient.java:628)
at com.amdocs.xps.restful.services.v1.swagger.client.api.UserServicesApi.getUser(UserServicesApi.java:201)
at com.amdocs.xps.automation.component.asmServices.administration.UserServicesTest.testGetUser(UserServicesTest.java:171)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
Swagger-codegen version
2.1.6
Command line used for generation
using Maven plugin for code generation.
<plugin>
<groupId>io.swagger</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>${swagger-codegen-maven-plugin-version}</version>
<executions>
<execution>
<id>swagger-generate-client-code</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.parent.basedir}/src/main/resources/swagger/A3Swagger.json</inputSpec>
<templateDirectory>${project.parent.basedir}/src/main/resources/swagger/template/java</templateDirectory>
<modelPackage>com.amdocs.xps.restful.services.v1.swagger.client.model</modelPackage>
<apiPackage>com.amdocs.xps.restful.services.v1.swagger.client.api</apiPackage>
<invokerPackage>com.amdocs.xps.restful.services.v1.swagger.client.invoker</invokerPackage>
<language>java</language>
<configOptions>
<sourceFolder>src/main/java</sourceFolder>
<!--verbose>true</verbose -->
</configOptions>
<library>jersey2</library>
</configuration>
</execution>
</executions>
</plugin>
Steps to reproduce
This is snapshot of my Client.
try {
User restUser = userServicesApi.getUser(authorization,testUser.getName());
} catch (Throwable e) {
e.printStackTrace();
Assert.fail(e.getMessage());
}
How should it be solved ?