.NETで外部Webサービスを仲介するブリッジWebサービス

開発マシン

OS
WindowsXP Service Pack2
開発ソフト
Visual Studio 2005

ドメインWebサービスAJAXとかで呼び出して使うために.NETでブリッジ用のWebサービスを作った。外部のWebサービスをWebClientクラスのOpenReadメソッドで呼び出して結果をDataSetで返すというWebサービス。簡単簡単。

ところがこういう時に限って不可解なはまり方をしてしまう。
テスト用のコンソールアプリを作ってWebサービスを呼び出して実行。

System.Net.WebException はハンドルされませんでした。
Message="リモート サーバーに接続できません。"
Source="System"
StackTrace:
場所 System.Net.HttpWebRequest.GetRequestStream()
場所 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object parameters)
場所 TestNetDictionaryWSConsole.DictionaryService.NetDictionary.EnglishToJapanese() 場所 C:\Data\1_test\NetDictionary\TestNetDictionaryWSConsole\Web References\DictionaryService\Reference.cs:行 79
場所 TestNetDictionaryWSConsole.Program.Main(String
args) 場所 C:\Data\1_test\NetDictionary\TestNetDictionaryWSConsole\Program.cs:行 19
場所 System.AppDomain.nExecuteAssembly(Assembly assembly, String args)
場所 System.Runtime.Hosting.ManifestRunner.Run(Boolean checkAptModel)
場所 System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly()
場所 System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String
activationCustomData)
場所 System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext)
場所 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
場所 System.Threading.ThreadHelper.ThreadStart()

なんですか、これは。ブリッジ用のwebサービスはlocalhostだから見えないはずはないのだけれど。。 何度か試すと、10回中1回くらい動作する。気持ち悪い。
ソリューションエクスプローラからasmxファイルを右クリック→ブラウザで表示、とすると、webサービスの説明(http://localhost:2647/○○.asmx)は正常動作。メソッド名をクリックした画面も正常動作。しかし、そこで[起動]ボタンを押してテストをすると、

Internet Explorer ではこのページは表示できません

となる。

イベントビューアを見てみる。

イベントの種類: エラー
イベント ソース: ASP.NET 2.0.50727.0
イベント カテゴリ: なし
イベント ID: 1000
説明:
aspnet_wp.exe (PID: 5120) が予期せずに停止しました。

なぜワーカープロセスが落ちている。。プログラム側から落とすことってできるのか??

IISサービス再起動してもダメ、マシン再起動してもダメ、Webサービスのタイムアウト長めにしても変わらず。VS2005はデバッグ時にポート番号使うのでファイヤーウォールOffにしてみたけどダメ。

しょうがない、別のOS、2003 ServerやVistaで試してみるか。うまく動いたらwebサービスとAJAXの連携の記事かけるかと期待していただけに残念。