私はかなり混乱する問題があります。私は追加することに取り組んでいる同じのWin32アプリケーションから直接呼び出されると、他のWebアプリケーション古いプロキシ設定を使用したWebサービス?
の異なるセット -
のWebサービスA - のWin32アプリケーションによって直接呼び出され、および様々な他のWebアプリケーション
WebサービスB BをAに参照することで、Bが提供する機能をAに手動で書き直し/再統合することなく使用することができます。私は自分のPCにAの開発コピーを作成しています。リモートサーバー(テストサーバーは当社のホスティングプロバイダーのインターネット経由でアクセスされます)
私は自分のコードをテストの準備ができていると信じていますが、毎回私は私のローカルコピーでそれをテストするために行く、私は次のエラーを取得します。ターゲットマシンが積極的に10.1.X.XXそれを拒否したため
接続なしで作ることができる:8080
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
エラーメッセージに記載されている内部IPは、私たちの古いBorderManagerのゲートウェイました。それはもはや使用されていません、私はすべてのMachine.Configs、Web.Configs、レジストリエントリをチェックしましたが、そこにリストされているIPのために2MB以下で私のPC上の全ファイルの全文検索を行っています。私はインターネットオプション接続の設定をもう一度チェックしましたが、それはグループポリシー会社によって管理されています。私は、IPが現在適用されているポリシーのどこにでもリストされていないことを確認するためにネットワーキング担当者を呼びました。
これを使用するコードをステップオーバーしようとしているときと、上記の例外が表示されている場合を除いて、どこでも見つけることができません。
私はWebサービスBを使用するために持っているコードは次のとおりです。
Dim oZip As New ZipTerr.ZIPTerr
oZip.Url = "https://test.test.com/ZIPTerr/ZIPTerr.asmx" ' This really shouldn't be hardcoded...
oZip.PreAuthenticate = True
oZip.Credentials = New System.Net.NetworkCredential("username", "password")
aCity = oZip.GetCities(pstrZip, Date.Now())
それは、上記のエラーとoZip.GetCities()の呼び出しに失敗しました。エラーメッセージのIPは、私たちのローカルネットワークから発信されたことを示すものではありません。10. *プライベートIPですが、テストサーバーは公開されている有効なライブアクセス可能なIPを持っています。
更新: 両方のWebサービスは、コードがサービスとして実行されているので、基本的なSystem.Netライブラリが、この場合、インターネット設定値を使用しない、.NET 2.0
に役立ちます。 BorderManagerゲートウェイがどのように機能していたかを知ることをお勧めします。たぶんその部分はまだまだです。ところで、私はあなたが "Win32"ではなく "WinForms"を意味すると思う。 –