2010-09-12 4 views
9

J'essaie de connecter mon application à un service WCF que j'ai créé dans asp.net. Le service s'exécute sur ma machine locale: http://localhost:8080/Service.svc/Application Android se connectant à un service Web - ne fonctionne pas

Mais pour certaines raisons mon Android ne peut pas se connecter à cette adresse http.

Ceci est l'erreur:

09-12 14: 50: 44,540: WARN/System.err (593): org.apache.http.conn.HttpHostConnectException: Connexion au http://127.0.0.1:8080 refusé
cela est la méthode dans wcf, Iam essayant de retourner une collection avec quelques valeurs.

 /// <returns>An enumeration of the (id, item) pairs. Returns null if no items are present</returns> 
    protected override IEnumerable<KeyValuePair<string, SampleItem>> OnGetItems() 
    { 
     // TODO: Change the sample implementation here 
     if (items.Count == 0) 
     { 
      items.Add("A", new SampleItem() { Value = "A" }); 
      items.Add("B", new SampleItem() { Value = "B" }); 
      items.Add("C", new SampleItem() { Value = "C" }); 
     } 
     return this.items; 
    } 


Et voilà comment la connexion dans l'Android ressemble:

public void getData(String url) 
{ 
    HttpClient httpClient = new DefaultHttpClient(); 
    HttpGet httpGet = new HttpGet(url); 
    HttpResponse response; 

    try 
    { 
     response = httpClient.execute(httpGet); 
     Log.i(TAG,response.getStatusLine().toString()); 
} catch (ClientProtocolException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    }/* catch (JSONException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } */catch (Exception e){ 
     e.printStackTrace(); 
    }finally{ 
     httpGet.abort(); 
    } 
} 

Répondre

15

127.0.0.1 fait référence à localhost dans l'émulateur, pas votre machine. Utilisez 10.0.2.2 pour vous connecter à votre machine hôte.

N'Assurez-vous également que vous avez demandé la permission INTERNET dans votre AndroidManifest.xml

+0

grâce, il a travaillé – Troj

+0

Savez-vous comment il est possible de lire les données qui a été envoyé? – Troj

+0

Vous pouvez utiliser WireShark sur la machine hôte exactement dans ce but. –

Questions connexes