[BUG] .aspx ページから WebServices を呼び出すと "ExternalException: プログラムを実行できません。" というエラー メッセージが表示される

文書翻訳 文書翻訳
文書番号: 315904 - 対象製品
この記事は、以前は次の ID で公開されていました: JP315904
すべて展開する | すべて折りたたむ

目次

現象

SOAP (Simple Object Access Protocol) を使用して .aspx ページから WebServices メソッドを呼び出す場合、Microsoft IIS (Internet Information Services) Lockdown ツールを実行すると、.aspx ページでエラーが発生する場合があります。また、以下のエラー メッセージが表示されることがあります。
[ ExternalException (0x5): プログラムを実行できません。実行しようとしたコマンドは "d:\winnt\microsoft.net\framework\v1.0.3408\csc.exe" /noconfig @"D:\WINNT\TEMP\eyrpuhyg.cmdline" です。]
この問題は、Web アプリケーションまたは Web サービスが Web サービスのクライアントで、かつ匿名ユーザー アカウントを装っている場合にのみ影響します。

原因

IIS Lockdown ツールでは、IUSR_コンピュータ名 および IWAM_コンピュータ名 アカウントによる Windows ディレクトリ (%windir%) 内のすべての実行可能ファイル (*.exe) への実行アクセスを拒否します。これには、XmlSerializer クラスで使用する Csc.exe ファイルなどのフレームワーク ツールが含まれます。Web アプリケーションや Web サービスが IUSR_コンピュータ名 または IWAM_コンピュータ名 を偽装する場合、Web アプリケーションや Web サービスは XmlSerializer を使用してオブジェクトを XML (Extensible Markup Language) 文書にシリアル化できません。

: XmlSerializer が偽装の範囲外で生成されコンパイルされているため、この問題は、Web サービスのサーバー側には影響を与えません。

解決方法

この問題を解決するには、次のいずれかの方法を使用します。
  • 異なる非匿名アカウントを使用して偽装する (これが推奨される方法です)。
  • Windows ディレクトリ内の実行可能ファイルに、十分なアクセス許可を追加する。

状況

マイクロソフトでは、この問題をこの資料の冒頭に記載したマイクロソフト製品の問題として認識しています。

詳細

問題の再現手順

  1. IIS アプリケーションで匿名アクセスを許可します。
  2. 以下のとおり、ローカルの Web.config ファイルで Web アプリケーションの偽装を有効にします。
    <configuration>
      <system.web>	
    	<identity impersonate="true" />
      </system.web>
    </configuration>
    
  3. IIS Lockdown ツールを起動するか、Csc.exe ファイルに対する IUSR_コンピュータ名 または IWAM_コンピュータ名 アカウントのアクセスを拒否し、ページを要求します。

関連情報

ASP.NET アプリケーションにおける偽装の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
306158 INFO: Implementing Impersonation in an ASP.NET Application
306158 [INFO] ASP.NET アプリケーションに偽装を実装する
Web サービスの詳細については、以下の MSDN Web サイトを参照してください。
Web Services Essentials
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebsrv/html/webservicesessentials.asp

XML Web サービスが利用可能な Office 文書(「Extreme XML」のコラム)
http://www.microsoft.com/japan/msdn/library/ja/jpdnexxml/htm/xml03192001.asp

また、Web サービスの詳細については、Visual Studio .NET オンライン ヘルプ マニュアルの " Creating and Accessing Web Services Walkthroughs " トピックを参照してください。

関連情報

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

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

プロパティ

文書番号: 315904 - 最終更新日: 2002年8月8日 - リビジョン: 1.0
この資料は以下の製品について記述したものです。
  • Microsoft ASP.NET (included with the .NET Framework)
キーワード:?
kbbug kbgrpdsvbdb kbpending KB315904
"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