web-dev-qa-db-fra.com

Uri pas exception absolue lors de l'appel à Restful Webservice

L'extrait de code ci-dessous utilise pour appeler mon service Web à l'aide d'une API reposante.

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); 

Et obtenir cette exception lors de l'exécution du code ci-dessus

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)

J'ai recherché de nombreux articles sur Google et je n'ai pas réussi à me tromper.

Note complémentaire: cas-server-webapp-3.5.0 guerre déployée sur ma machine dans Apache tomacat7

14
Suresh Atta

Un URI absolu spécifie un schéma; un URI qui n'est pas absolu est dit relatif.

http://docs.Oracle.com/javase/8/docs/api/Java/net/URI.html

Donc, peut-être que votre URLEncoder ne fonctionne pas comme vous l'attendez (le bit https)?

    URLEncoder.encode(uri) 
10
Bob Flannigon

Le problème est probable que vous appelez URLEncoder.encode () sur quelque chose qui est déjà un URI.

4
Julian Reschke

Peut-être le problème uniquement dans vos paramètres de codage IDE. Essayez de définir UTF-8 partout:

enter image description here

0
Valeriy K.