2008-08-27 25 views
1

Ich habe ein Programm in einem mobilen Gerät (Pocket PC 2003) 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.Zugriff auf einen Webservice vom mobilen Gerät

Das Gerät erhält vom drahtlosen Netzwerk die IP 192.168.5.118 und das Programm funktioniert OK, es ruft die Methode vom Webservice auf und führt die Aktion aus, die benötigt wird. Dieses Programm wird in verschiedenen Gebäuden verwendet werden.

Jetzt habe ich dieses Problem, es wendet sich, wenn ich versuche, es in einem anderen Gebäude (Entfernungen fast 100 mts. Oder 200 mts.) Mit dem Netzwerk zu testen, kann das Programm nicht mit dem Webservice verbinden, in diesem Moment Das Gerät bekommt von einem Access Point die IP 192.168.10.25, und es greift auf den gleichen XP-Rechner zu, den ich vorher angegeben habe (192.168.5.2). Ich habe eine mobile aspx-Seite erstellt, um zu überprüfen, dass ich den Webserver über das Netzwerk erreichen kann und es in das Gerät lädt. Ich habe sogar eine winform erstellt, die auf denselben Webservice in einem PC von diesem Gebäude zugreift und auch dort funktioniert. Ich verstehe, was vor sich geht. Ich habe auch versucht, 192.168.5.2 PC zu pingen und es reagiert lebendig.

Danach scheiterte ich an den ursprünglichen Ort, wo ich das Programm getestet habe und es passiert, dass es normal funktioniert.

Das einzige, was ich anders sehe hier ist, dass die dritte Nummer in der IP ist 10 statt 5, eine andere Beobachtung ist, dass ich nicht an das mobile Gerät pingen kann. Ich bin verwirrt Ich weiß nicht, was hier passiert? Was könnte das Problem sein?

So rufe ich den Webservice an;

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

Antwort

0

Das sieht wie ein Netzwerkproblem aus, es sei denn, es gibt einen seltsamen Fehler in .Net CF, der es nicht erlaubt, Subnetze in bestimmten Situationen zu durchlaufen (ich kann keinen Hinweis auf eine solche Sache von googling finden).

Können Sie vom Netzwerk/IT-Team Unterstützung erhalten? Hast du es auch aus einem anderen Subnetz versucht? I.e. nicht das selbe wie das XP-Gerät (192.168.5.x) und nicht dasselbe wie das, das bisher nicht funktioniert hat (192.168.10.).

@Shaun Austin - das würde nicht erklären, warum sie auf einer normalen Webseite auf dem XP-Rechner aus dem verschiedenen Subnetz kommen können.

0

Nicht ein Experte mit diesem Zeug, aber es sieht aus wie die ersten 3 Teile der Adresse ausgeblendet werden. Ist es möglich, dass das mobile Gerät eine Netzwerkmaske angegeben werden:

255.255.255.0

Wie über den Bereich der ersten drei Teile erreichen Sie die Maske sein müssen:

255.255. 0.0

Dies kann eine Vereinfachung sein oder völlig falsch, aber das war meine Antwort auf die Frage.

1

Es war ein Netzwerkproblem, wir konfigurierten einen Proxy-Server und das war das Problem, ich muss mehr über das Netzwerk lernen.

Verwandte Themen