Impossible d'accéder à un service Web à partir d'un appareil mobile

StackOverflow https://stackoverflow.com/questions/31297

  •  09-06-2019
  •  | 
  •  

Question

J'ai développé un programme dans un appareil mobile (Pocket PC 2003) pour accéder à un service web, le service web est installé sur un PC Windows XP SP2 avec IIS, le PC a l'IP 192.168.5.2.

L'appareil obtient du réseau sans fil l'IP 192.168.5.118 et le programme fonctionne correctement, il appelle la méthode du service Web et exécute l'action nécessaire.Ce programme va être utilisé dans divers bâtiments.

Maintenant, j'ai ce problème, cela se produit lorsque j'essaie de le tester dans un autre bâtiment (distances généralement d'environ 100 mètres.ou 200 mts.) connecté au réseau, le programme ne peut pas se connecter au webservice, à ce moment l'appareil reçoit d'un point d'accès l'IP 192.168.10.25, et il accède à la même machine XP que j'ai indiquée précédemment (192.168.5.2).J'ai créé une page ASPX mobile pour vérifier que je peux accéder au serveur Web sur le réseau et qu'il le charge dans l'appareil. J'ai même créé un formulaire Winform qui accède au même service Web dans un PC de ce bâtiment et y fonctionne également, donc je ne le fais pas. Je ne comprends pas ce qui se passe.J'ai également essayé d'envoyer une requête ping à ce PC 192.168.5.2 et il répond vivant.

Après cet échec, je suis retourné à l'endroit d'origine où j'avais testé le programme auparavant et il arrive qu'il fonctionne normalement.

La seule chose qui me semble différente ici est que le troisième numéro de l'IP est 10 au lieu de 5, une autre observation est que je ne peux pas envoyer de ping à l'appareil mobile.Je me sens confus. Je ne sais pas ce qui se passe ici ?Quel pourrait être le problème?

C'est ainsi que j'appelle le service Web ;

//Connect to webservice
svc = new TheWebService(); 
svc.Credentials = new System.Net.NetworkCredential(Settings.UserName, Settings.Password);
svc.AllowAutoRedirect = false;
svc.UserAgent = Settings.UserAgent;
svc.PreAuthenticate = true;
svc.Url = Settings.Url;
svc.Timeout = System.Threading.Timeout.Infinite;

//Send information to webservice
svc.ExecuteMethod(info);

le contenu du fichier app.config sur l'appareil mobile est :

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="UserName" value="administrator" />
    <add key="Password" value="************" />
    <add key="UserAgent" value="My User Agent" />
    <add key="Url" value="http://192.168.5.2/WebServices/TWUD.asmx" />
  </appSettings>
</configuration>

Quelqu'un a-t-il une idée de ce qui se passe ?

Était-ce utile?

La solution

Cela ressemble à un problème de réseau, à moins qu'il n'y ait un bug étrange dans .Net CF qui ne vous permet pas de traverser des sous-réseaux dans certaines situations (je ne trouve aucune preuve d'une telle chose en recherchant sur Google).

Pouvez-vous obtenir de l’aide de la part de l’équipe réseau/informatique ?Et as-tu essayé depuis un autre sous-réseau ?C'est à dire.pas la même chose que la machine XP (192.168.5.x) et pas la même que celle qui n'a pas fonctionné jusqu'à présent (192.168.10.).

@Shaun Austin - cela n'expliquerait pas pourquoi ils peuvent accéder à une page Web normale sur la machine XP à partir d'un sous-réseau différent.

Autres conseils

C'était un problème de réseau, nous avons configuré un serveur proxy et c'était là le problème, j'ai besoin d'en savoir plus sur le réseau.

Je ne suis pas un expert en la matière, mais il semble que les 3 premières parties de l'adresse soient masquées.Est-il possible que l'appareil mobile reçoive un masque de réseau de :

255.255.255.0

Pour aller au-delà de la portée des 3 premières parties, vous devez que le masque soit :

255.255.0.0

C'est peut-être une simplification excessive ou complètement faux, mais c'est ma réponse instinctive à la question.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top