2013-02-13 16 views
7

Lo snippet di codice seguente viene utilizzato per chiamare il servizio Web utilizzando un'API restful.Uri not Absolute exception getting while calling Restful Webservice

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

E ottenere questa eccezione durante l'esecuzione del codice di cui sopra

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) 

I Googled molti articoli e did'nt arrivare dove sto facendo male.

nota

laterale: cas-server-webapp-3.5.0 guerra schierato sulla mia macchina in Apache tomacat7

+0

Nella tua URI **, sei sicuro, è ** https **, e non ** http **? Si prega di controllare una volta. – SudoRahul

+0

Sì solo per HTTPS. SSL abilitato sul mio server Tomcat. –

risposta

2

Il problema è probabile che si sta chiamando URLEncoder.encode() su qualcosa che già è un URI.

Problemi correlati