Erreur: hôte Cible ne doit pas être nulle, ou de définir dans les paramètres

J'essaie d'envoyer une chaîne de caractères à partir d'une application à l'autre. Je serais de retour à une réponse qui est une chaîne de caractères. Ici, myhost.com/views est la 2ème demande où je dois envoyer la chaîne de valeur et d'obtenir une réponse à partir d'elle. Mais quand j'essaie d'envoyer ce n'est pas l'exécution de ce code. Quelqu'un peut s'il vous plaît corrigez-moi où je me trompe?

Ci-dessous le code que j'ai écrit.

  public static void sendData(String strval) throws IOException{ 
String doSend="https://myhost.com/views?strval="+strval;
HttpClient httpclient = new DefaultHttpClient();
try {
System.out.println("inside try");
URIBuilder builder = new URIBuilder();
System.out.println("builder="+builder);
builder.setHost("myhost.com").setPath("/views");
builder.addParameter("strval", strval); 
System.out.println("add param,sethost,setpath complete");
URI uri = builder.build();
System.out.println("uri="+uri);
HttpGet httpget = new HttpGet(uri); 
System.out.println("httpGet"+httpget);
HttpResponse response = httpclient.execute(httpget);
System.out.println(response.getStatusLine().toString());
if (response.getStatusLine().getStatusCode() == 200) {
String responseText = EntityUtils.toString(response.getEntity());
System.out.println("responseText="+responseText);
httpclient.getConnectionManager().shutdown();
} else {
System.out.println("Server returned HTTP code "
+ response.getStatusLine().getStatusCode());
}
} catch (java.net.URISyntaxException bad) {
System.out.println("URI construction error: " + bad.toString());
}
catch(Exception e){ System.out.println("e.getMessage=>"+e.getMessage());  }
}

Code s'exécute jusqu'à et quand j'imprime les exceptions, je vois excep.getMessage() ->

     java.lang.IllegalStateException: Target host must not be null, or set in parameters.
at org.apache.http.impl.client.DefaultRequestDirector.determineRoute(DefaultRequestDirector.java:789)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:414)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)
  • Vous pouvez trouver la liste des pots sur le chemin de classe? Vous avez besoin de la httpclient bocal et httpcore pots.
  • Le problème était avec la version de httpcore pot que j'ai été en utilisant. version 4.2.1 est incompatible, j'ai utilisé la version 4.2.3 et il a bien fonctionné jusqu'à ce que HttpGet httpget = new HttpGet(uri); mise à Jour de la pile d'exception que je vois d'autres erreurs du même code.
InformationsquelleAutor smiley | 2013-08-06