找不到内容类型为text/html且类型为interface java.util.List的MessageBodyReader 请不要把它看作是重复的请求,因为我已经经历了所有的事情。 在stackoverflow中发帖,没有人回复。我没有找到回应

找不到内容类型为text/html且类型为interface java.util.List的MessageBodyReader 请不要把它看作是重复的请求,因为我已经经历了所有的事情。 在stackoverflow中发帖,没有人回复。我没有找到回应,java,jboss,jax-rs,wildfly-10,javax,Java,Jboss,Jax Rs,Wildfly 10,Javax,问题是: 我面临着一个非常奇怪的问题,用同一段代码发出GET请求 通过独立应用程序(在main()内)。它在相同的地方工作 代码放在Java EE应用程序中,并部署在wildfly 10服务器上, 这是错误的 “找不到内容类型为text/html且类型为的MessageBodyReader 接口java.util.List“ 代码: ClientConfig configuration = new ClientConfig(); configuration.property(ClientProp

问题是:

我面临着一个非常奇怪的问题,用同一段代码发出GET请求 通过独立应用程序(在main()内)。它在相同的地方工作 代码放在Java EE应用程序中,并部署在wildfly 10服务器上, 这是错误的

“找不到内容类型为text/html且类型为的MessageBodyReader 接口java.util.List“

代码:

ClientConfig configuration = new ClientConfig();
configuration.property(ClientProperties.CONNECT_TIMEOUT, 10000);
configuration.property(ClientProperties.READ_TIMEOUT, 10000);
Client iexRestClient=ClientBuilder.newClient(configuration);
WebTarget webTarget = 
iexRestClient.target("https://api.iextrading.com/1.0/ref-data/symbols/");
Response response = 
webTarget.request().accept(MediaType.APPLICATION_JSON).get(Response.class);
System.out.println("response status "+response.getStatus());
List<IEXTicker> tickers = response.readEntity(new 
GenericType<List<IEXTicker>>(){});
System.out.println("size of tickers "+tickers.size());
2017-10-31 20:32:17 ERROR stderr:71 - javax.ws.rs.ProcessingException: RESTEASY003145: Unable to find a MessageBodyReader of content-type text/html and type interface java.util.List  
2017-10-31 20:32:17 ERROR stderr:71 - javax.ws.rs.ProcessingException: RESTEASY003145: Unable to find a MessageBodyReader of content-type text/html and type interface java.util.List  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.resteasy.core.interception.ClientReaderInterceptorContext.throwReaderNotFound(ClientReaderInterceptorContext.java:42)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.getReader(AbstractReaderInterceptorContext.java:75)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:52)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.resteasy.client.jaxrs.internal.ClientResponse.readFrom(ClientResponse.java:251)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.resteasy.client.jaxrs.internal.ClientResponse.readEntity(ClientResponse.java:181)  
2017-10-31 20:32:18 ERROR stderr:71 -   at  org.jboss.resteasy.specimpl.BuiltResponse.readEntity(BuiltResponse.java:225)  
2017-10-31 20:32:18 ERROR stderr:71 -   at com.swigel.iex.api.IEXTickerOperation.populateIEXTickerData1(IEXTickerOperation.java:127)  
2017-10-31 20:32:18 ERROR stderr:71 -   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
2017-10-31 20:32:18 ERROR stderr:71 -   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)  
2017-10-31 20:32:18 ERROR stderr:71 -   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)  
2017-10-31 20:32:18 ERROR stderr:71 -   at java.lang.reflect.Method.invoke(Unknown Source)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)  
2017-10-31 20:32:18 ERROR stderr:71 -   at  org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)  
2017-10-31 20:32:18 ERROR stderr:71 -   at  org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:82)  
2017-10-31 20:32:18 ERROR stderr:71 -   at  org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:64)
错误:

ClientConfig configuration = new ClientConfig();
configuration.property(ClientProperties.CONNECT_TIMEOUT, 10000);
configuration.property(ClientProperties.READ_TIMEOUT, 10000);
Client iexRestClient=ClientBuilder.newClient(configuration);
WebTarget webTarget = 
iexRestClient.target("https://api.iextrading.com/1.0/ref-data/symbols/");
Response response = 
webTarget.request().accept(MediaType.APPLICATION_JSON).get(Response.class);
System.out.println("response status "+response.getStatus());
List<IEXTicker> tickers = response.readEntity(new 
GenericType<List<IEXTicker>>(){});
System.out.println("size of tickers "+tickers.size());
2017-10-31 20:32:17 ERROR stderr:71 - javax.ws.rs.ProcessingException: RESTEASY003145: Unable to find a MessageBodyReader of content-type text/html and type interface java.util.List  
2017-10-31 20:32:17 ERROR stderr:71 - javax.ws.rs.ProcessingException: RESTEASY003145: Unable to find a MessageBodyReader of content-type text/html and type interface java.util.List  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.resteasy.core.interception.ClientReaderInterceptorContext.throwReaderNotFound(ClientReaderInterceptorContext.java:42)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.getReader(AbstractReaderInterceptorContext.java:75)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:52)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.resteasy.client.jaxrs.internal.ClientResponse.readFrom(ClientResponse.java:251)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.resteasy.client.jaxrs.internal.ClientResponse.readEntity(ClientResponse.java:181)  
2017-10-31 20:32:18 ERROR stderr:71 -   at  org.jboss.resteasy.specimpl.BuiltResponse.readEntity(BuiltResponse.java:225)  
2017-10-31 20:32:18 ERROR stderr:71 -   at com.swigel.iex.api.IEXTickerOperation.populateIEXTickerData1(IEXTickerOperation.java:127)  
2017-10-31 20:32:18 ERROR stderr:71 -   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
2017-10-31 20:32:18 ERROR stderr:71 -   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)  
2017-10-31 20:32:18 ERROR stderr:71 -   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)  
2017-10-31 20:32:18 ERROR stderr:71 -   at java.lang.reflect.Method.invoke(Unknown Source)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)  
2017-10-31 20:32:18 ERROR stderr:71 -   at  org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)  
2017-10-31 20:32:18 ERROR stderr:71 -   at  org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:82)  
2017-10-31 20:32:18 ERROR stderr:71 -   at  org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)  
2017-10-31 20:32:18 ERROR stderr:71 -   at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:64)

我也有同样的问题。这是由于服务器未按预期返回内容类型:application/json,但返回:

content-type: text/html; charset=UTF-8
我看到两种选择:

1) 联系服务提供商并要求返回application/json

2) 以字符串形式读取请求的结果,并手动将其转换为对象。与此类似:

String jsonData = response.readEntity(String.class);
ObjectMapper mapper = new com.fasterxml.jackson.databind.ObjectMapper();
JsonNode jsonNode= mapper.readValue(jsonData, com.fasterxml.jackson.databind.JsonNode.class);

现在,从jsonNode数据创建一个列表…

请将您的XML作为代码块发布。我没有XML。。我想从rest端点获取数据,这是返回的json值。。因此,我已经添加了我的模型类。请提供任何帮助。如果删除这三个罐子会发生什么?或者,如果将
提供的
添加到每个jar中,会发生什么情况?