Resteasy 2.3.10.Final ClientResponse.readEntity AbstractMethodError
Resteasy 2.3.10.Final ClientResponse.readEntity AbstractMethodError
我目前正在尝试创建一个 Resteasy 客户端,必须使用版本 2.3。10.Final。不幸的是,我不应该使用更新的版本。我对此很陌生,所以我希望我能提供所有必需的信息来回答这个问题。
首先,创建请求,最后 "PUT"。返回的ClientResponse待评估。
我可以成功调用
Response.getStatus()
显示 "PUT" 已成功,因为状态等于
Response.Status.CREATED.getStatusCode()
但是,任何试图调用response.readEntityReturns的错误
java.lang.AbstractMethodError: javax.ws.rs.core.Response.readEntity(Ljava/lang/Class;)Ljava/lang/Object;
at blabla.evaluateResponse(MyResteasyClient.java:80)´
这是针对任何调用 .readEntity 的尝试,但为了具体起见,让我们专注于
String entity = Response.readEntity(String.class);
尝试 response.getEntity() 时,Returns 出现以下错误消息:
java.lang.RuntimeException: RESTEASY001555: No type information to extract entity with, use other getEntity() methods
at org.jboss.resteasy.client.core.BaseClientResponse.getEntity(BaseClientResponse.java:337)
at blabla.evaluateResponse(MyResteasyClient.java:81)
我走在正确的轨道上吗?我的目标是实现以下目标:
List<? extends MyResponse> myResponses = response.readEntity(new GenericType<List<MyResponse>>() {});
其中 class "MyResponse" 是接口
的实现
public interface MyPartialResponse {
boolean isSuccessful();
String getMessage();
}
pom.xml 中的依赖项是:
<properties>
<version.jackson>2.6.5</version.jackson>
<version.resteasy-client>2.3.10.Final</version.resteasy-client>
</properties>
<dependencies>
(removed a company specific dependency)
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>${version.resteasy-client}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>${version.resteasy-client}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${version.jackson}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${version.jackson}</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.6</version>
</dependency>
</dependencies>
我认为 Maven 中的 Jar 文件之间存在冲突。请检查您的 Maven 依赖层次结构。
如果有人碰巧遇到这个问题并出现同样的错误,让我提供答案,我是如何解决我的问题的:
通过添加
BaseClientResponse<?> r = (BaseClientResponse<?>) response;
我可以成功调用
r.getEntity(new GenericType<List<MyResponse>>() {});
我目前正在尝试创建一个 Resteasy 客户端,必须使用版本 2.3。10.Final。不幸的是,我不应该使用更新的版本。我对此很陌生,所以我希望我能提供所有必需的信息来回答这个问题。
首先,创建请求,最后 "PUT"。返回的ClientResponse待评估。
我可以成功调用
Response.getStatus()
显示 "PUT" 已成功,因为状态等于
Response.Status.CREATED.getStatusCode()
但是,任何试图调用response.readEntityReturns的错误
java.lang.AbstractMethodError: javax.ws.rs.core.Response.readEntity(Ljava/lang/Class;)Ljava/lang/Object;
at blabla.evaluateResponse(MyResteasyClient.java:80)´
这是针对任何调用 .readEntity 的尝试,但为了具体起见,让我们专注于
String entity = Response.readEntity(String.class);
尝试 response.getEntity() 时,Returns 出现以下错误消息:
java.lang.RuntimeException: RESTEASY001555: No type information to extract entity with, use other getEntity() methods
at org.jboss.resteasy.client.core.BaseClientResponse.getEntity(BaseClientResponse.java:337)
at blabla.evaluateResponse(MyResteasyClient.java:81)
我走在正确的轨道上吗?我的目标是实现以下目标:
List<? extends MyResponse> myResponses = response.readEntity(new GenericType<List<MyResponse>>() {});
其中 class "MyResponse" 是接口
的实现public interface MyPartialResponse {
boolean isSuccessful();
String getMessage();
}
pom.xml 中的依赖项是:
<properties>
<version.jackson>2.6.5</version.jackson>
<version.resteasy-client>2.3.10.Final</version.resteasy-client>
</properties>
<dependencies>
(removed a company specific dependency)
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>${version.resteasy-client}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>${version.resteasy-client}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${version.jackson}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${version.jackson}</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.6</version>
</dependency>
</dependencies>
我认为 Maven 中的 Jar 文件之间存在冲突。请检查您的 Maven 依赖层次结构。
如果有人碰巧遇到这个问题并出现同样的错误,让我提供答案,我是如何解决我的问题的:
通过添加
BaseClientResponse<?> r = (BaseClientResponse<?>) response;
我可以成功调用
r.getEntity(new GenericType<List<MyResponse>>() {});