[PRB] HTTP プロキシ サーバー経由で Web サービスを使用する .NET クライアントでエラーが発生する

文書翻訳 文書翻訳
文書番号: 318140 - 対象製品
すべて展開する | すべて折りたたむ

目次

現象

: この資料では、次の .NET Framework クラス ライブラリの名前空間を参照しています。

System.Net

HTTP プロキシ サーバー経由で .NET クライアントを使用して Web サービスを使用するとき、次のエラー メッセージが表示されることがあります。
基になる接続が閉じられました : リモート名を解決できませんでした。

原因

Web サービスと .NET クライアントの間に HTTP プロキシ サーバーが存在しますが、適切なプロキシ設定が構成されていません。

解決方法

この問題を解決するには、.NET クライアントに適切なプロキシ構成の設定を提供します。

詳細

以下は、Machine.config ファイルのデフォルトの設定です。

<configuration>
   <system.net>
      <defaultProxy>
         <proxy
            usesystemdefault = "true"
         />
      </defaultProxy>
   </system.net>
</configuration>

				
デフォルトの設定でプロキシ サーバーの設定が自動的に検出されない場合は、usessystemdefault を False に設定し、その後、プロキシ サーバーを明示的に指定します。プロキシ サーバーを明示的に指定するには、Machine.config または Web.config ファイルを使用するか、サーバーをプログラムから指定します。

プロキシ サーバーを指定するには、Machine.config または Web.config ファイルの設定を次のように設定します。

<configuration>
   <system.net>
      <defaultProxy>
         <proxy
            usesystemdefault = "false"
            proxyaddress="http://proxyserver"
            bypassonlocal="true"
         />
      </defaultProxy>
   </system.net>
</configuration>

				
WebProxy オブジェクトを使用してこれらの設定をプログラムから変更するには、次のサンプル コードを使用します。

Using System.Net;

com.someserver.somewebservice.someclass MyWebServiceClass = new com.someserver.somewebservice.someclass();

IWebProxy proxyObject = new WebProxy("http://myproxyserver:80", true);
MyWebServiceClass.Proxy = proxyObject;

MyWebServiceClass.MyWebMethod();

				


NTLM 認証を要求するプロキシ サーバー

プロキシ サーバーの NTLM 認証を設定するには、次のサンプル コードを使用します。
Using System.Net;

WebProxy myProxy = new WebProxy("http://proxyserver:port",true); myProxy.Credentials = CredentialCache.DefaultCredentials; FindServiceSoap myFindService = new FindServiceSoap(); myFindService.Proxy = myProxy;
システム全体のプロキシをデフォルトで使用することもできます。これを行うには、構成ファイルで以下の設定を使用します。
			<configuration>
			<system.net>
			<defaultProxy>
			<proxy 
           proxyaddress = "http://proxyserver:80" 
           bypassonlocal = "true" />
			</defaultProxy>
			</system.net>
			</configuration>

関連情報

詳細については、以下の MSDN (Microsoft Developer Network) Web サイトを参照してください。
IWebProxy インターフェイス
http://msdn.microsoft.com/library/ja/cpref/html/frlrfsystemnetiwebproxyclasstopic.asp

<defaultProxy> 要素
http://msdn.microsoft.com/library/ja/cpgenref/html/gngrfdefaultproxyelement.asp
関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
307220 [HOWTO] .NET Framework を使用して、XML Web サービス クライアントからプロキシ サーバーを介して接続できるように構成する方法

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 318140 (最終更新日 2004-07-02) を基に作成したものです。

この資料に含まれているサンプル コード/プログラムは英語版を前提に書かれたものをありのままに記述しており、日本語環境での動作は確認されておりません。

プロパティ

文書番号: 318140 - 最終更新日: 2005年9月2日 - リビジョン: 4.2
この資料は以下の製品について記述したものです。
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
キーワード:?
kbprb KB318140
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com