BOGUE : Message d'erreur « Exception externe : Impossible d'exécuter un programme » lorsque vous appelez WebServices à partir d'une page .aspx

Traductions disponibles Traductions disponibles
Numéro d'article: 315904 - Voir les produits auxquels s'applique cet article
Ancien nº de publication de cet article : F315904
Agrandir tout | Réduire tout

Sommaire

Symptômes

Si vous utilisez le Protocole SOAP (Simple Object Access Protocol) pour appeler la méthode WebServices à partir d'une page .aspx, la page .aspx peut échouer lorsque vous exécutez l'outil de verrouillage des services Internet (IIS Lockdown). Par ailleurs, le message d'erreur suivant peut s'afficher :
[Exception externe (0x5) : Impossible d'exécuter un programme. La commande en cours d'exécution était "d:\winnt\microsoft.net\framework\v1.0.3408\csc.exe" /noconfig @"D:\WINNT\TEMP\eyrpuhyg.cmdline".]
Ce problème affecte uniquement les applications Web ou les services Web qui sont clients d'un service Web et qui empruntent l'identité d'un compte d'utilisateur anonyme.

Cause

L'outil IIS Lockdown refuse l'accès d'exécution aux comptes IUSR_NOM_ORDINATEUR et IWAM_NOM_ORDINATEUR pour chaque fichier exécutable (* .exe) dans le répertoire Windows (%windir%). Cela inclut les outils d'infrastructure tels que le fichier Csc.exe, utilisé par la classe XmlSerializer. Lorsqu'une application Web ou un service Web emprunte l'identité IUSR_NOM_ORDINATEUR ou IWAM_NOM_ORDINATEUR, l'application ou le service ne peut pas utiliser XmlSerializer pour sérialiser des objets dans des documents XML (Extensible Markup Language).

Remarque Ce problème n'affecte pas le côté serveur d'un service Web parce que XmlSerializer est généré et compilé hors de l'emprunt d'identité.

Résolution

Pour résoudre ce problème, appliquez l'une des méthodes suivantes :
  • Utilisez un compte différent (non anonyme) pour l'emprunt d'identité. (Il s'agit de la procédure recommandée.)
  • Ajoutez une autorisation suffisante pour les fichiers exécutables dans le répertoire Windows.

Statut

Microsoft a confirmé l'existence de ce bogue dans les produits Microsoft répertoriés au début de cet article.

Plus d'informations

Procédure pour reproduire le problème

  1. Autorisez l'accès anonyme à l'application IIS.
  2. Activez l'emprunt d'identité pour l'application Web dans le fichier Web.config local comme suit :
    <configuration>
      <system.web>	
    	<identity impersonate="true" />
      </system.web>
    </configuration>
    					
  3. Exécutez l'outil IIS Lockdown ou refusez l'accès au compte IUSR_NOM_ORDINATEUR ou IWAM_NOM_ORDINATEUR sur le fichier Csc.exe avant de demander la page.

Références

Pour plus d'informations sur l'emprunt d'identité dans une application ASP.NET, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
306158 INFO : Implémentation de l'emprunt d'identité dans une application ASP.NET
Pour plus d'informations sur XmlSerializer, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
315703 COMMENT FAIRE : Sérialiser un objet en XML en utilisant Visual Basic .NET
Pour plus d'informations sur les services Web, consultez le site Web MSDN aux adresses suivantes :
Centre de développement Services Web / XML
http://www.microsoft.com/france/msdn/technos/webservices.mspx

XML Web Service-Enabled Office Documents (une rubrique Extreme XML) (en anglais)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/html/xml03192001.asp

Pour plus d'informations sur les services Web, vous pouvez également vous reporter à la rubrique « Création et accès aux services Web » dans la documentation en ligne de Visual Studio .NET.

Propriétés

Numéro d'article: 315904 - Dernière mise à jour: lundi 24 avril 2006 - Version: 6.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft ASP.NET 1.0
  • Microsoft Web Services (included with the .NET Framework) 1.0
  • Microsoft Web Services Enhancements for Microsoft .NET 1.1
Mots-clés : 
kbbug kbpending kbsecurity kbwebforms KB315904
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Exclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.

Envoyer des commentaires

 

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