ANDROID : CONNEXION REFUSÉE LORS DE L'APPEL D'UN SERVICE WEB


Hier j'ai essayé d'utiliser dans mon application Android un service web que j'ai développé avec C#, jusqu'au là tout marche bien mais lorsque  j'ai lancé  l'application  dans le simulateur d'Android je reçois l'exception suivante :



 java.net.SocketException: Permission denied (maybe missing INTERNET permission) 


vu que c'est ma première fois que j'essaye d'appeler un service web dans une application Android, j'ai cherché sur internet et j'ai trouvé la solution dans Quedig, sans tarder la solution consiste à ajouter la ligne  suivante dans le fichier manifest de l'application Android (AndroidManifest.xml)


<uses-permission android:name="android.permission.INTERNET" /> 

Avec cette ligne vous donnez la permission  à votre application de se connecter à internet. 
J’ai ajouté la ligne, j’ai lancé à nouveau l'application dans le simulateur et cette fois j'ai une autre exception :

java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 51546) after 15000ms: isConnected failed: ECONNREFUSED (Connection refused)


À nouveau je passe à Google j'ai fait des recherches et une autre fois j'arrive à trouver la cause :
 j'essaye d'accéder à mon service web hébergé en local depuis l'émulateur Android installé  sur la même machine en utilisant localhost(127.0.0.1) , L’adresse de la boucle locale localhost(127.0.0.1) correspond à celle de l’émulateur et non à l'adresse de l'ordinateur, donc l'application ne trouve pas le service web.
Pour régler ce problème Google a mit  en place une autre adresse, qui pointe sur la boucle locale du pc : 10.0.2.2
Donc j'ai remplacé l'url que j'ai utilisée pour appeler mon service web :

http://localhost:51546/ListLivrWebService.asmx/HelloWorld

 par 

http://10.0.2.2:51546/ListLivrWebService.asmx/HelloWorld

J’ai  lancé l’application à nouveau et cette fois  j'ai réussi à récupérer du XML  sur mon application Android en utilisant un service web.
Je souhaite que ces informations puissent aider quelqu'un. 

Commentaires

Posts les plus consultés de ce blog

ANDROID : ENVOYER LES RAPPORTS DE CRASH LORS DU PLANTAGE DE VOTRE APPLICATION ANDROID ARCA

4 meilleurs outils de compression Javascript

Android : Nom de code , Version , API level