2010-07-06 18 views
0

Im obtenir un hôte IOException n'est pas résolu sur HttpPost. Le point de terminaison dans ce cas un ordinateur sur mon réseau local avec un service web. (http://pc259:8080/test/service.asmx). Im en utilisant WIFI sur mon réseau local. Est-ce que Android sait à résolu les noms de computernames?L'hôte n'est pas résolu dans LAN

StringEntity se = new StringEntity(xmlDataToSend); 
se.setContentType("text/xml"); 
HttpPost httppost = new HttpPost(endPoint);  
httppost.setHeader("Content-Type","application/soap+xml"); 
httppost.setEntity(se);   
HttpClient httpclient = new DefaultHttpClient(); 
Log.i(TAG, " - Before execute"); 
httpResponse = (BasicHttpResponse) httpclient.execute(httppost); 
+0

Avez-vous envisagé d'essayer ceci avec une adresse IP au lieu de pc259? – Sephy

+0

J'ai oublié à ce sujet, oui IP fonctionne bien. Mais je ne peux pas utiliser ça. J'obtiens le nom d'hôte d'un WSDL. Je dois l'utiliser. (ou le convertir en IP, mais c'est ce que DNS est pour) – JustFogMaxi

+0

Pouvez-vous accéder à la machine en utilisant l'application de navigateur Web intégrée à Android? –

Répondre

3

Vous pouvez obtenir Java pour résoudre les noms NetBIOS à l'aide de la bibliothèque JCIFS. Vous pouvez l'obtenir à partir de http://jcifs.samba.org/. Ajoutez-le à votre projet, puis utilisez un code comme celui-ci pour convertir un nom d'hôte en adresse IP.

import jcifs.netbios.NbtAddress; 
... 
NbtAddress nbtAddress = NbtAddress.getByName(hostname); 
InetAddress address = nbtAddress.getInetAddress(); 
String ipAddress = address.getHostAddress(); 
+0

Ça marche vraiment? Parce qu'il me renvoie toujours l'adresse IP ... –

+0

Il a fait comme quand j'ai posté. Je n'ai pas travaillé avec lui depuis quelques années, donc je ne suis plus dans une bonne position pour aider à résoudre les problèmes. – Emdot

+0

@FlashThunder le code ci-dessus est supposé renvoyer l'adresse IP. – xmen

1

Très probablement pc259 ne définit pas votre serveur DNS, mais est un nom d'hôte Netbios (voir http://en.wikipedia.org/wiki/NetBIOS#NetBIOS_name_vs_host_name).
Je ne pense pas Android peut résoudre ce genre de noms d'hôtes - vous aurez besoin d'ajouter cet ordinateur dans le référentiel DNS.

+0

et comment ajouteriez-vous l'ordinateur dans le référentiel DNS. – xmen