Я пытаюсь прочитать некоторую информацию с помощью службы 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();
Ответ содержит статус, метаданные и сущность. Метаданные содержат следующую информацию:
{Date = [Thu, 13 Oct 2011 13:27:02 GMT], Vary = [Accept-Encoding, User-Agent], Transfer-Encoding = [chunked], Keep-Alive = [timeout = 15, max = 100] , Content-Type = [text / html; charset = charset = UTF-8], Connection = [Keep-Alive], X-Pad = [избежать ошибок браузера], Server = [Apache / 2.2.3 (Linux / SUSE)]}
и объект содержит экземпляр типа sun.net.www.protocol.http.HttpURLConnection $ HttpInputStream.
В прошлом я использовал следующую строку кода, чтобы получить всю строку результата:
String resultString = client.get(String.class);
Но почему-то эта строка вызывает исключение:
.Проблема с чтением ответного сообщения, класс: класс java.lang.String, ContentType: text / html; charset = charset = UTF-8. org.apache.cxf.jaxrs.client.ClientWebApplicationException:. Проблема с чтением ответного сообщения, класс: class java.lang.String, ContentType: text / html; charset = charset = UTF-8.
... вызванный:
Вызвано: java.io.UnsupportedEncodingException: charset = UTF-8 в sun.nio.cs.StreamDecoder.forInputStreamReader (Неизвестный источник) в java.io.InputStreamReader. (Неизвестный источник) в org.apache.cxf.helpers.IOUtils. toString (IOUtils.java:180) в org.apache.cxf.helpers.IOUtils.toString (IOUtils.java:166) в org.apache.cxf.jaxrs.provider.PrimitiveTextProvider.readFrom (PrimitiveTextProvider.java:51) в org .apache.cxf.jaxrs.client.AbstractClient.readBody (AbstractClient.java:435) ... еще 49
Есть ли простое решение для получения всего содержания ответа?
Спасибо!
кон