首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Resteasy客户端抛出异常

Resteasy客户端抛出异常
EN

Stack Overflow用户
提问于 2014-10-22 07:04:53
回答 2查看 5.7K关注 0票数 1

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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)

客户代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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);

Rest服务代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@GET
    @Path("getEmp/{name}")
    @Produces("application/json")
    public Employee getEmployee(@PathParam("name") String name)
    {
        if(em.containsKey(name))
            return em.get(name);
        else
            throw new EmployeeNotFoundException("Employee with name '" + name + "' does not exists!");
    }

客户端代码响应正常。即200。相同的url在Mozilla客户端也可以正常工作。如能提供任何帮助,将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-23 06:50:08

在添加jettison提供程序jars之后,问题得到了解决。

尽管如此,我仍然觉得Resteasy-2.3.2有一些问题,最终我把我的Reateasy升级到了2.3.5,并且客户端运行得很好。

票数 0
EN

Stack Overflow用户

发布于 2014-10-22 07:31:50

确保您在客户端项目中拥有所有jackson库。如果您使用的是maven,您应该拥有以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-jackson-provider</artifactId>
    <version>xxx</version>
</dependency>

编辑: resteasy-jaxrs和resteasy-jackson-provider使用的jars如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[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

还可以尝试在客户端实现中设置接受内容类型。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
request.accept("application/json");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26510712

复制
相关文章
Java 日期类型比较没有返回正确的结果
最近在数据库处理的时候发现日期对比的时候没有返回正确的结果。 但是保存的时间实际上是相同的。 代码如下: if (!mlsPhoto.getDateUpdate().equals(photo.getDateUpdate())) { } 因为这里使用了 equals 方法。 问题解决 经过 Debug 后,这 2 个日期的纳秒数是不同的,查看下对象如下。 我们会发现其中一个对象有纳秒,一个对象没有。 但是 fastTime 是相同的。 如果使用 equals 那么这个方法比较的是毫秒,所以是不相等的。
HoneyMoose
2021/12/21
3.5K0
代码组件 | 我的代码没有else
前端大行组件化的当今,我们在写后端接口代码的时候还是按照业务思路一头写到尾吗?我们是否可以思索,「后端接口业务代码如何可以简单快速组件化?」,答案是肯定的,这就是「组合模式」的作用。
用户1093396
2020/10/29
1.2K0
代码组件 | 我的代码没有else
代码模板 | 我的代码没有else
抽象类里定义好算法的执行步骤和具体算法,以及可能发生变化的算法定义为抽象方法。不同的子类继承该抽象类,并实现父类的抽象方法。
用户1093396
2020/10/29
1K0
代码模板 | 我的代码没有else
构造函数没有返回值是怎么赋值的?
众所周知,在java里是不能给构造函数写返回值的,如果在低版本的编译器定义一个构造器写上返回值可能会报错,高版本里面他就是一个普通的方法。可是如果构造函数没有返回值,那么比如Test t = new Test()我们new一个对象的时候是怎么赋值的呢?
好好学java
2020/12/09
1.7K0
构造函数没有返回值是怎么赋值的?
构造函数没有返回值是怎么赋值的?
众所周知,在java里是不能给构造函数写返回值的,如果在低版本的编译器定义一个构造器写上返回值可能会报错,高版本里面他就是一个普通的方法。可是如果构造函数没有返回值,那么比如Test t = new Test()我们new一个对象的时候是怎么赋值的呢?
帅地
2020/09/28
1.7K0
构造函数没有返回值是怎么赋值的?
小程序没有返回按钮怎么办?
如果你发现自己的小程序页面没有返回按钮,请检查是不是用的wx.redirectTo(OBJECT)进行的跳转,如果是那就把它改成wx.navigateTo(OBJECT)就可以了. wx.navigateTo(OBJECT) 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。 wx.redirectTo(OBJECT) 关闭当前页面,跳转到应用内的某个页面。
李文杨
2018/04/17
2.3K0
无返回路径的文件上传
访问靶场一看,只有一个上传页面,而且可以直接上传马,但是没有返回路径,上传正常图片也不会又路径,这就很坑了。
字节脉搏实验室
2020/09/08
4K0
无返回路径的文件上传
如何编写没有bug的代码?
我记不了很多东西。像标准库中的函数和方法、参数位置、软件包名称,样板代码等等,都在我脑容量之外。
老九君
2018/09/21
8950
如何编写没有bug的代码?
Java构造函数没有返回值,是怎么赋值的?
众所周知,在java里是不能给构造函数写返回值的,如果在低版本的编译器定义一个构造器写上返回值可能会报错,高版本里面他就是一个普通的方法。可是如果构造函数没有返回值,那么比如Test t = new Test()我们new一个对象的时候是怎么赋值的呢?
程序员小猿
2021/01/20
2.1K0
Java构造函数没有返回值,是怎么赋值的?
包验证返回的错误代码
程序集标识的某些部分(名称、公钥令牌、区域性、可重定目标属性或版本)对于比较的双方都不匹配。
用户4268038
2022/01/09
1.8K0
vscode最新问题输入叹号没有代码提示不生成模板解决方法
好像是 更新了   输入html  选择第二个html:5就能生成模板了  用这个就好了
坚毅的小解同志的前端社区
2022/11/28
7020
vscode最新问题输入叹号没有代码提示不生成模板解决方法
链式调用 | 我的代码没有else
但是有一点直到被处理为止,代表最终只会被一个实际的业务对象执行了实际的业务逻辑,明显适用的场景并不多。但是除此之外,上面的那两点优势还是让人很心动,所以,为了适用于目前所接触的绝大多数业务场景,把概念进行了简单的调整,如下:
用户1093396
2020/10/29
1.7K0
链式调用 | 我的代码没有else
soap 返回xml 文件 soap 文件 webservice wsdl
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/100557.html原文链接:
全栈程序员站长
2021/05/06
1.3K0
状态变换 | 我的代码没有else
「状态模式」比较简单,就是算法的选取取决于自己的内部状态。相较「策略模式」算法的选取由用户决策变成为内部状态决策,「策略模式」是用户(客户端)选择具体的算法,「状态模式」只是通过内部不同的状态选择具体的算法。
用户1093396
2020/10/28
8730
状态变换 | 我的代码没有else
订阅通知 | 我的代码没有else
虽然本文的题目叫做“订阅通知”,但是呢,本文却主要介绍「观察者模式」如何在真实业务场景中使用。是不是有些不理解?解释下:
用户1093396
2020/10/29
1.8K0
订阅通知 | 我的代码没有else
linux镜像文件没有gho,【iso文件中没有gho文件】iso变gho_iso文件里没有gho-系统城…
gho文件是ghost系统的克隆镜像,存储着系统分区的所有文件信息,可用于安装系统,有些U盘安装方法需要把ISO镜像中的gho文件拷贝到U盘,那么gho文件在哪里呢?ISO镜像中的gho文件是哪个呢?下面系统城小编就跟大家分析一下。
全栈程序员站长
2022/09/14
8.3K0
告别没有成长的烂代码
毕业后我就加入了一家跨境电商企业,至今我还清晰地记得,我第一次提交代码的时候,短短的 100 多行代码,被同事 review 出了 n 多问题,来来回回改了不下十几个版本才提交上去。我当时有很大的逆反心理,觉得有必要浪费这么多时间在如此细节的编码上吗?只要代码能用、能解决问题不就够了吗?
程序员 NEO
2023/09/26
1700
客户决策 | 我的代码没有else
「策略模式」比较简单,大家平常工作中应该经常使用到,所以本文作为复习,帮助大家温故知新。我们先来看下定义:
用户1093396
2020/10/28
9190
客户决策 | 我的代码没有else
vue 渲染HTML代码 后台返回HTML代码
实现:<span v-html='html'></span> 使用 v-html 赋值就可以了
onety码生
2018/11/21
27.1K2
点击加载更多

相似问题

将Java模块jar作为依赖项添加到Gradle项目中

10

将SWT作为Gradle依赖项导入

28

如何将gradle java项目作为依赖项添加到Android Studio

15

Gradle:添加依赖项

25

添加gradle依赖项

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文