当前位置: 首页 > 知识库问答 >
问题:

Resteasy客户端java.lang.IllegalStateException:响应已关闭

金成济
2023-03-14

我在RestEasy客户端-3.0.8中得到以下异常

client = new ResteasyClientBuilder().build();
ResteasyWebTarget target = client.target(request.getUrl());
Response response = target.request().accept(APPLICATION_TYPE_XML).header(TOKEN, request.getToken()).post(Entity.entity(request.getXmlObject(), APPLICATION_TYPE_XML));
output = response.readEntity(String.class);
if (response.getStatus() != SUCCESS_CREATE) {
 //Do Something
} else {
 String classType = ClassFactory.getClassNameFromUrl(request.getUrl());
 if (null != classType && !classType.isEmpty()) {
  Long Id = (Long) response.readEntity(ClassFactory.getClassMethod(classType)).getId();

 }

共有1个答案

袁高明
2023-03-14

读取响应将关闭响应。因此,当您调用response.readentity(string.class);时,当您用response.readentity(classfactory.getClassMethod(classType)).getID();重复读取时,将导致错误

您可以通过在循环中重复第一个readEntity来轻松地显示这一点。将响应读一遍,转换成最方便的形式,如果有必要,从那里转换。

 类似资料:
  • 我正在尝试编写简单的RESTEasy客户端。下面给出了示例代码: 我在行中得到异常: 我在控制台中看到以下错误: 更新:我还尝试在POM中添加resteasy jax-rs依赖关系。我还通过在web.xml中添加以下行来验证是否启用了ResteasyProviderFactory: 请查看以下maven依赖项列表: 但这不起作用。 但现在我看到了其他方法的类似异常: 我在行中看到了这个例外: 奇怪

  • 我认为这个客户机库很方便,并希望继续使用它,但我如何驯服它或重写它,以便返回真正的错误消息?

  • 我正在使用RESTEasy客户端从API中检索JSON字符串。JSON有效负载看起来像这样: 现在,我只提取对象映射的<code>项 我将RESTEasy代理框架用于我的API方法。 REST客户端代码: RESTEasy代理接口:

  • 问题内容: 我正在玩RESTEasy以使用REST服务,并且正在使用Twitter的搜索API进行尝试。 所以我创建了这个接口: 并用以下命令调用它: 但是我得到了: ClientResponseFailure:无法找到内容类型为application / json; charset =“ utf-8”的MessageBodyReader并键入接口java.util.Set 我尝试使用POJO而不

  • 我有一个客户机包,其中定义了我的REST客户机,包含以下接口和模型: 编辑: 我使用的是quarkus-rest-client-jackson和quarkus-rest-client依赖项,任何地方都没有jsonb依赖项。 我试图缩小这个问题的范围:我已经将客户机/请求类移到我的主包中,并且我已经删除了lombok注释,并将我的具有Jackson注释的字段公之于众。还是同样的问题...谁能指出我做

  • 我有一个使用RESTEasy的简单客户端,如下所示: 服务器配置为在以及一条有用的信息。正在抛出一个。除了包装在中之外,我如何使捕获异常并以字符串形式返回响应的有用消息。我尝试了各种实现,但似乎都是正确的。上述代码从未调用。我错过了什么? 我目前的解决方法是使用,然后执行并将原始状态填充到响应实体中。这样我就避免了异常抛出。