Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于Java类Foo、Java类Foo和MIME媒体类型text/html的消息体读取器;未找到字符集=utf-8_Java_Jersey_Jersey Client - Fatal编程技术网

用于Java类Foo、Java类Foo和MIME媒体类型text/html的消息体读取器;未找到字符集=utf-8

用于Java类Foo、Java类Foo和MIME媒体类型text/html的消息体读取器;未找到字符集=utf-8,java,jersey,jersey-client,Java,Jersey,Jersey Client,我正在使用Jersey服务呼叫一个服务,我遇到了这个异常。谢谢你的帮助。这个问题是间歇性的 [|SEVERE|oracle-glassfish3.1.2|com.sun.jersey.api.client.ClientResponse|_ThreadID=99;_ThreadName=quartzScheduler_Worker-5;|A message body reader for Java class com.xxx.ResonseObjectView, and Java type cla

我正在使用Jersey服务呼叫一个服务,我遇到了这个异常。谢谢你的帮助。这个问题是间歇性的

[|SEVERE|oracle-glassfish3.1.2|com.sun.jersey.api.client.ClientResponse|_ThreadID=99;_ThreadName=quartzScheduler_Worker-5;|A message body reader for Java class com.xxx.ResonseObjectView, and Java type class com.xxx.ResonseObjectView, and MIME media type text/html; charset=utf-8 was not found|#]

[|SEVERE|oracle-glassfish3.1.2|com.sun.jersey.api.client.ClientResponse|_ThreadID=99;_ThreadName=quartzScheduler_Worker-5;|The registered message body readers compatible with the MIME media type are:
*/* ->
  com.sun.jersey.core.impl.provider.entity.FormProvider
  com.sun.jersey.core.impl.provider.entity.MimeMultipartProvider
  com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider$General
  com.sun.jersey.json.impl.provider.entity.JSONArrayProvider$General
  com.sun.jersey.json.impl.provider.entity.JSONObjectProvider$General
  com.sun.jersey.core.impl.provider.entity.StringProvider
  com.sun.jersey.core.impl.provider.entity.ByteArrayProvider
  com.sun.jersey.core.impl.provider.entity.FileProvider
  com.sun.jersey.core.impl.provider.entity.InputStreamProvider
  com.sun.jersey.core.impl.provider.entity.DataSourceProvider
  com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$General
  com.sun.jersey.core.impl.provider.entity.ReaderProvider
  com.sun.jersey.core.impl.provider.entity.DocumentProvider
  com.sun.jersey.core.impl.provider.entity.SourceProvider$StreamSourceReader
  com.sun.jersey.core.impl.provider.entity.SourceProvider$SAXSourceReader
  com.sun.jersey.core.impl.provider.entity.SourceProvider$DOMSourceReader
  com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$General
  com.sun.jersey.json.impl.provider.entity.JSONListElementProvider$General
  com.sun.jersey.json.impl.provider.entity.JacksonProviderProxy
  com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$General
  com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$General
  com.sun.jersey.core.impl.provider.entity.XMLRootObjectProvider$General
  com.sun.jersey.core.impl.provider.entity.EntityHolderReader
  com.sun.jersey.moxy.MoxyMessageBodyWorker
  com.sun.jersey.moxy.MoxyListMessageBodyWorker
|#]
对响应POJO使用@XmlRootElement

这就是服务的调用方式

这是使用并生成MediaType JSON的服务


我猜在错误端有一个错误,它会导致来自服务器的html错误响应。可能的内部服务器错误。我想如果你打印请求的状态,将是500。如果是这种情况,请尝试通过编写一个
exceptionapper
来调试问题,并记录错误。或者检查服务器以查看是否已记录堆栈跟踪。您当前看到的错误是客户端错误,因为它找不到html的读取器,这意味着响应类型是htmlWhy会是html如果我有@products MediaType.APPLICATION_JSON?请重新阅读我的评论。。。由于服务器生成的响应,由于未处理/未映射的异常。将响应打印为字符串。看看是什么
@XmlRootElement
public class ResponseObjectView extends BaseRestObject

@XmlRootElement
public class BaseRestObject
  protected ClientResponse executeRequest( String resourceUrl, Object argument )
  {
    if( argument instanceof SecureToken )
    {
      SecureToken parameter = (SecureToken)  argument ;
      parameter.setSecurityToken( MD5Hash.hash( parameter.getHashableAttribute(), salt ) );
    }
    return this.buildWebResource( resourceUrl ).type( MediaType.APPLICATION_JSON_TYPE ).accept( MediaType.APPLICATION_JSON_TYPE ).post( ClientResponse.class, argument );
  }
  @POST
  @Path( "/test.biws" )
  @Consumes( MediaType.APPLICATION_JSON )
  @Produces( { MediaType.APPLICATION_JSON } )
  public ResponseObjectView request( RequestObjectView request, @Context UriInfo uriInfo )
  {
    ................
    return response;
  }