我正在嘗試使用分塊編碼來讀取一些REST服務的信息。Java REST分塊編碼
String encodedURL = URLEncoder.encode(url, "UTF-8");
WebClient client = org.apache.cxf.jaxrs.client.WebClient.create(encodedURL).accept("text/html");
Response response = client.get();
響應包含狀態,元數據和實體。所述元數據包含以下信息:
{日期= [星期四,2011 10月13日13時27分02秒GMT],會發生變化= [接受編碼, 用戶代理],傳送編碼= [分塊] ,Keep-Alive = [timeout = 15, max = 100],Content-Type = [text/html;字符集的字符集= = UTF-8], 連接= [保持活動],X-PAD = [避免瀏覽器錯誤], 服務器= [阿帕奇/ 2.2.3(Linux的/ SUSE)]}
並且該實體包含sun.net.www.protocol.http.HttpURLConnection $ HttpInputStream類型的實例。
我過去,我一直在使用的下面的代碼行,以獲得整個結果字符串:
String resultString = client.get(String.class);
但不知何故,此行會拋出異常:
。讀取響應消息類時出現問題:class java.lang.String,ContentType:text/html; charset = charset = UTF-8。 org.apache.cxf.jaxrs.client.ClientWebApplicationException:.Problem 讀取響應消息,類:class java.lang.String, ContentType:text/html; charset = charset = UTF-8。
...引起的:
引起:java.io.UnsupportedEncodingException:字符集= UTF-8處 java.io.InputStreamReader中 sun.nio.cs.StreamDecoder.forInputStreamReader(未知來源) 。(Unknown Source)at org.apache.cxf.helpers.IOUtils.toString(IOUtils.java:180)at org.apache.cxf.helpers.IOUtils.toString(IOUtils.java:166)at org.apache .cxf.jaxrs.provider.PrimitiveTextProvider.readFrom(PrimitiveTextProvider.java:51) at org.apache.cxf.jaxrs.client.AbstractClient.readBody(AbstractClient.java:435) ... 49 mo re
是否有直接的解決方案來獲取響應的全部內容?
謝謝!
KON
謝謝科多!我完全錯過了這一點。 – kon