Vom Mobilgerät aus kann nicht auf einen Webservice zugegriffen werden

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

  •  09-06-2019
  •  | 
  •  

Frage

Ich habe in einem mobilen Gerät (Pocket PC 2003) ein Programm entwickelt, um auf einen Webdienst zuzugreifen. Der Webdienst ist auf einem Windows XP SP2-PC mit IIS installiert, der PC hat die IP 192.168.5.2.

Das Gerät bezieht vom drahtlosen Netzwerk die IP 192.168.5.118 und das Programm funktioniert einwandfrei, es ruft die Methode vom Webdienst auf und führt die erforderliche Aktion aus.Dieses Programm wird in verschiedenen Gebäuden eingesetzt.

Jetzt habe ich dieses Problem. Wenn ich versuche, es in einem anderen Gebäude zu testen (Entfernung ca. 100 m), stellt sich heraus, dass dies der Fall ist.oder 200 m) mit dem Netzwerk verbunden ist, kann das Programm keine Verbindung zum Webservice herstellen. In diesem Moment erhält das Gerät von einem Access Point die IP 192.168.10.25 und greift auf denselben XP-Rechner zu, den ich zuvor angegeben habe (192.168.5.2).Ich habe eine mobile ASPX-Seite erstellt, um zu überprüfen, ob ich den Webserver über das Netzwerk erreichen kann, und er lädt ihn in das Gerät. Ich habe sogar eine Winform erstellt, die von diesem Gebäude aus auf denselben Webservice in einem PC zugreift und dort auch funktioniert, sodass ich nicht Ich verstehe nicht, was los ist.Ich habe auch versucht, diesen 192.168.5.2-PC anzupingen, und er antwortet aktiv.

Nach diesem Fehler bin ich an den ursprünglichen Ort zurückgekehrt, an dem ich das Programm zuvor getestet habe, und zufällig funktioniert es normal.

Das Einzige, was hier anders aussehe, ist, dass die dritte Zahl in der IP 10 statt 5 ist, eine weitere Beobachtung ist, dass ich das Mobilgerät nicht anpingen kann.Ich bin verwirrt. Ich weiß nicht, was hier passiert?Was könnte das Problem sein?

So rufe ich den Webservice auf;

//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);

der Inhalt der app.config im mobilen Gerät ist;

<?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>

Hat jemand eine Idee, was los ist?

War es hilfreich?

Lösung

Dies scheint ein Netzwerkproblem zu sein, es sei denn, es gibt einen seltsamen Fehler in .Net CF, der es Ihnen in bestimmten Situationen nicht erlaubt, Subnetze zu durchqueren (ich kann beim Googeln keine Beweise dafür finden).

Können Sie Unterstützung vom Netzwerk-/IT-Team bekommen?Haben Sie es auch von einem anderen Subnetz aus versucht?D.h.nicht dasselbe wie die XP-Maschine (192.168.5.x) und nicht dasselbe wie die, die bisher nicht funktioniert hat (192.168.10.).

@Shaun Austin – das würde nicht erklären, warum sie von einem anderen Subnetz aus auf eine normale Webseite auf dem XP-Rechner zugreifen können.

Andere Tipps

Es war ein Netzwerkproblem, wir haben einen Proxyserver konfiguriert und das war das Problem. Ich muss mehr über das Netzwerk erfahren.

Ich bin kein Experte auf diesem Gebiet, aber es sieht so aus, als würden die ersten drei Teile der Adresse ausgeblendet.Ist es möglich, dass dem mobilen Gerät eine Netzwerkmaske zugewiesen wird:

255.255.255.0

Um über den Bereich der ersten drei Teile hinauszugehen, muss die Maske wie folgt aussehen:

255.255.0.0

Das mag zu stark vereinfacht oder völlig falsch sein, aber das war meine Bauchantwort auf die Frage.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top