モバイルデバイス(Pocket PC 2003)でWebサービスにアクセスするプログラムを開発しました。WebサービスはIISを搭載したWindows XP SP2 PCにインストールされ、PCのIPは192.168.5.2です。
デバイスはワイヤレスネットワークからIP192.168.5.118を取得し、プログラムは正常に動作します。Webサービスからメソッドを呼び出し、必要なアクションを実行します。このプログラムは、さまざまな建物で使用される予定です。
今、私はこの問題を抱えています。ネットワークに接続されている別の建物(距離は約100メートルまたは200メートル)でテストしようとすると、プログラムはWebサービスに接続できません。この時点で、デバイスはアクセスポイントはIP192.168.10.25であり、前に説明したのと同じXPマシン(192.168.5.2)にアクセスします。モバイルaspxページを作成して、ネットワーク経由でWebサーバーにアクセスし、デバイスにロードできることを確認しました。その建物からPCの同じWebサービスにアクセスし、そこでも機能するWinFormも作成しました。何が起こっているのか理解できません。また、その192.168.5.2 PCにpingを実行しようとしましたが、生きたまま応答します。
その後失敗した後、以前にプログラムをテストした元の場所に戻りましたが、正常に動作することがあります。
ここで私が異なって見える唯一のことは、IPの3番目の番号が5ではなく10であるということです。別の観察結果は、モバイルデバイスにpingできないことです。ここで何が起こっているのかわからないので混乱しますか?何が問題なのですか?
これが私が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);
モバイルデバイスのapp.configのコンテンツは次のとおりです。
<?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>
誰かが何が起こっているのか考えていますか?