如何解决Response.readEntityString.class无法读取响应
最近,我开始突然遇到读取实体API的问题。 我已经附加了pom.xml,并且所用的代码可能有人可以帮助我在此处找到问题, 正在读取响应的代码
Response serverResponse = executeRequest(httpPost,log);
String responseData = serverResponse.readEntity(String.class);
我遇到的错误是
java.lang.IllegalStateException: Method not supported on an outbound message.
at org.glassfish.jersey.message.internal.OutboundJaxrsResponse.readEntity(OutboundJaxrsResponse.java:144)
pom.xml
<dependencies>
<!-- https://mvnrepository.com/artifact/com.ibm.mfp/adapter-maven-api -->
<dependency>
<groupId>com.ibm.mfp</groupId>
<artifactId>adapter-maven-api</artifactId>
<version>8.0.2018071507</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.0.4.RELEASE</version>
<type>jar</type>
</dependency>
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-io -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.ibm.mfp/mfp-java-token-validator -->
<dependency>
<groupId>com.ibm.mfp</groupId>
<artifactId>mfp-java-token-validator</artifactId>
<version>8.0.2017020112</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.ibm.mfp/mfp-security-checks-base -->
<dependency>
<groupId>com.ibm.mfp</groupId>
<artifactId>mfp-security-checks-base</artifactId>
<version>8.0.2018030404</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0.1</version>
</dependency>
错误消息:
嵌套异常是java.lang.AbstractMethodError:javax / ws / rs / core / Response.readEntity(Ljava / lang / Class;)Ljava / lang / Object ;,status = 500
解决方法
我通过使用
解决了此问题String responseData = serverResponse.getEntity().toString();
代替
String responseData = serverResponse.readEntity(String.class);
这与我们形成响应的方式有关。我在将回应设置为
Response.ResponseBuilder responseBuilder = Response
.status(serverResponse.getStatusLine().getStatusCode())
.entity(responseData != null && !responseData.isEmpty() ? responseData : "{}");
然后当我将readEntity更改为getEntity时,我使用的是String responseData = serverResponse.readEntity(String.class);
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。