Java Resteasy客户端引发异常

Java Resteasy客户端引发异常,java,rest,jboss7.x,resteasy,Java,Rest,Jboss7.x,Resteasy,我正在尝试编写一个简单的Resteasy客户端来访问mt rest web服务。不幸的是,我得到了错误: Exception in thread "main" org.jboss.resteasy.client.ClientResponseFailure: Unable to find a MessageBodyReader of content-type application/json and type null at org.jboss.resteasy.client.core.B

我正在尝试编写一个简单的Resteasy客户端来访问mt rest web服务。不幸的是,我得到了错误:

Exception in thread "main" org.jboss.resteasy.client.ClientResponseFailure: Unable to find a MessageBodyReader of content-type application/json and type null
    at org.jboss.resteasy.client.core.BaseClientResponse.createResponseFailure(BaseClientResponse.java:523)
    at org.jboss.resteasy.client.core.BaseClientResponse.createResponseFailure(BaseClientResponse.java:514)
    at org.jboss.resteasy.client.core.BaseClientResponse.readFrom(BaseClientResponse.java:415)
    at org.jboss.resteasy.client.core.BaseClientResponse.getEntity(BaseClientResponse.java:377)
    at org.jboss.resteasy.client.core.BaseClientResponse.getEntity(BaseClientResponse.java:350)
    at org.jboss.resteasy.client.core.BaseClientResponse.getEntity(BaseClientResponse.java:344)
    at com.test.client.rest.employee.EmployeeClient.main(EmployeeClient.java:29)
客户端代码:

ClientRequest request = new ClientRequest(ROOT_URL + "getEmp/GS");

    ClientResponse<Employee> resp = request.get(Employee.class);
    //Response resp = request.get();
    if(resp.getResponseStatus().getStatusCode() == 200)
    {
        System.out.println("resp ok!!!");
    }

    Employee e = resp.getEntity(Employee.class);
    System.out.println("path:" + e);

客户端代码响应正常。i、 e.200。同样的url在Mozilla Rest客户端上也可以正常工作。任何帮助都将不胜感激

请确保您的客户项目中有所有的jackson库。如果您使用的是maven,您应该具备以下功能:

<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-jackson-provider</artifactId>
    <version>xxx</version>
</dependency>
您还可以尝试在客户端实现中设置accepts内容类型

request.accept("application/json");

在添加
抛弃
提供程序jar后,问题得到了解决


我仍然觉得
Resteasy-2.3.2
有一些问题,最终我将我的Reateasy升级到了
2.3.5
,客户端工作得非常好

不幸的是,我没有使用maven。我创建了一个简单的主类,并在我从JBOSS主页获取的项目的构建路径中添加了
resteasy jackson provider.2.3.2.Final.jar
resteasy jackson provider.2.3.2.Final=jandex.jar
。我发布了所有需要的jar。。如果没有帮助,你可以查看这篇文章,非常感谢你的回答。但被抛弃的罐子才是罪魁祸首。我添加了它们,错误消失了。欢迎光临!我还以为你在用jackson作为你的json提供者呢!
[INFO] +- org.jboss.resteasy:resteasy-jaxrs:jar:2.2.1.GA:compile
[INFO] |  +- org.jboss.resteasy:jaxrs-api:jar:2.2.1.GA:compile
[INFO] |  +- org.scannotation:scannotation:jar:1.0.3:compile
[INFO] |  |  \- javassist:javassist:jar:3.12.1.GA:compile
[INFO] |  +- javax.annotation:jsr250-api:jar:1.0:compile
[INFO] |  +- javax.activation:activation:jar:1.1:compile
[INFO] |  +- commons-httpclient:commons-httpclient:jar:3.1:compile
[INFO] |  |  +- commons-logging:commons-logging:jar:1.0.4:compile
[INFO] |  |  \- commons-codec:commons-codec:jar:1.2:compile
[INFO] |  +- org.apache.httpcomponents:httpclient:jar:4.0.3:compile
[INFO] |  |  \- org.apache.httpcomponents:httpcore:jar:4.0.1:compile
[INFO] |  \- net.jcip:jcip-annotations:jar:1.0:compile
[INFO] \- org.jboss.resteasy:resteasy-jackson-provider:jar:2.2.1.GA:compile
[INFO]    +- org.codehaus.jackson:jackson-core-asl:jar:1.6.3:compile
[INFO]    +- org.codehaus.jackson:jackson-mapper-asl:jar:1.6.3:compile
[INFO]    +- org.codehaus.jackson:jackson-jaxrs:jar:1.6.3:compile
[INFO]    \- org.codehaus.jackson:jackson-xc:jar:1.6.3:compile
request.accept("application/json");