Подтвердить что ты не робот

Uri не Абсолютное исключение при вызове Restful Webservice

Нижеприведенный фрагмент кода используется для вызова моего веб-сервиса с использованием ненадежного API.

ClientConfig config = new DefaultClientConfig();
    Client client = Client.create(config);
    String uri= "https://127.0.0.1:8443/cas-server-webapp-3.5.0/login";
    WebResource resource = client.resource(URLEncoder.encode(uri));
      MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
       queryParams.add("username", "suresh");
       queryParams.add("password", "suresh");
       resource.queryParams(queryParams); 
       ClientResponse response = resource.type(
            "application/x-www-form-urlencoded").get(ClientResponse.class);
    String en = response.getEntity(String.class);
    System.out.println(en); 

И получение этого исключения при запуске вышеуказанного кода

com.sun.jersey.api.client.ClientHandlerException: java.lang.IllegalArgumentException: URI is not absolute

    at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:151)
    at com.sun.jersey.api.client.Client.handle(Client.java:648)
    at com.sun.jersey.api.client.WebResource.handle(WebResource.java:680)

Я googled много статьей и did'nt получает где я делаю неправильно.

Боковое примечание: война cas-server-webapp-3.5.0, развернутая на моей машине в Apache tomacat7

4b9b3361

Ответ 1

Абсолютный URI определяет схему; URI, который не является абсолютным, называется относительным.

http://docs.oracle.com/javase/8/docs/api/java/net/URI.html

Итак, возможно, ваш URLEncoder не работает так, как вы ожидаете (бит https)?

    URLEncoder.encode(uri) 

Ответ 2

Вероятно, проблема в том, что вы вызываете URLEncoder.encode() на то, что уже является URI.

Ответ 3

Возможно проблема только в ваших настройках кодировки IDE. Попробуйте установить UTF-8 везде:

enter image description here