Options de configuration pour les services Web XML créés à l'aide d'ASP.NET
La configuration de services Web XML suit le même paradigme que celui utilisé par toutes les applications Web ASP.NET. La configuration ASP.NET est une architecture de configuration de fichiers textes XML, qui est à la fois puissante et extensible. Un fichier de configuration est simplement un ensemble d'éléments XML représentant les options de configuration pour une fonctionnalité technique spécifique du Microsoft .NET Framework. Dans le cas de services Web XML, les options de configuration sont encapsulées dans l'élément XML webServices d'un fichier de configuration. Pour plus d'informations sur l'architecture de configuration ASP.NET, consultez Configuration ASP.NET. Pour une liste complète des options de configuration des services Web XML disponibles, consultez <webServices>, élément.
Configuration des protocoles de messagerie et de la page d'aide du service
Les protocoles de messagerie et la page d'aide du service des services Web XML peuvent être configurés dans l'élément XML <protocols>, sous l'élément <webServices> des fichiers de configuration. Le configuration est effectuée en ajoutant des éléments <add> et <remove> pour chaque paramètre pour spécifier si ce paramètre est disponible pour l'étendue du fichier de configuration. L'élément <add> ajoute explicitement une prise en charge de ce paramètre pour l'étendue du fichier de configuration, tandis que l'élément <remove> supprime la prise en charge ajoutée à un niveau supérieur de la hiérarchie de configuration. Par exemple, un paramètre de protocole peut être ajouté au niveau de l'ordinateur à l'aide d'un élément <add> dans le fichier Machine.config, puis supprimé pour une application Web à l'aide d'un élément <remove> dans le fichier Web.config. La syntaxe des éléments <add> et <remove> est la suivante :
<{add|remove} name="protocol name" />
L'attribut de nom des éléments <add> et <remove> présente les options suivantes :
Paramètre | Description |
---|---|
HttpSoap | Contrôle la prise en charge du protocole SOAP de préférence au protocole HTTP pour les services Web XML. L'installation ajoute cette prise en charge par défaut. |
HttpGet | Contrôle la prise en charge du protocole HTTP-GET pour les services Web XML. L'installation n'ajoute pas cette prise en charge par défaut. |
HttpPost | Contrôle la prise en charge du protocole HTTP-POST pour les services Web XML quelle que soit l'origine de la demande. L'installation n'ajoute pas cette prise en charge par défaut. |
HttpPostLocalhost | Contrôle la prise en charge du protocole HTTP-POST pour les services Web XML lorsque la demande provient de l'ordinateur local. Si HttpPost est ajouté à la configuration actuelle, ce paramètre reste sans effet. L'installation ajoute cette prise en charge par défaut. |
Documentation | Spécifie si la page d'aide d'un service s'affiche lorsqu'un utilisateur navigue jusqu'à l'URL d'un service Web XML sans paramètres dans le navigateur. L'installation ajoute cette prise en charge par défaut. |
**Remarque **Le **.**NET Framework version 1.0 prend en charge les paramètres HttpSoap, HttpGet, HttpPost et Documentation qui sont tous activés au niveau de l'ordinateur par défaut.
Recommandation de sécurité
Avant d'activer les protocoles HTTP-GET ou HTTP-POST pour un service Web XML, vous devez savoir que, ce faisant, vous l'exposez à un appel involontaire. Par exemple, sans se douter de rien, un utilisateur pourrait recevoir un courrier électronique contenant un lien qui, une fois activé, appelle le service Web XML de la part de l'utilisateur en utilisant les paramètres fournis dans le courrier électronique. Il vous appartient de déterminer si ces appels involontaires peuvent être préjudiciables avant d'activer les procotoles HTTP-GET ou HTTP-POST.
Pour désactiver les protocoles HTTP-GET et HTTP-POST pour tout l'ordinateur
Ouvrez le fichier Machine.config dans votre éditeur de texte préféré. (L'installation par défaut place le fichier Machine.config dans le sous-répertoire \Config de la racine de l'installation.)
Mettez en commentaires les lignes de la section
webServices
qui ajoutent la prise en charge de HTTP-GET et HTTP-POST, si elles existent. Après quoi, la sectionwebServices
devrait ressembler à ceci :<webServices> <protocols> <add name="HttpSoap"/> <!-- <add name="HttpPost"/> --> <!-- <add name="HttpGet"/> --> <add name="Documentation"/> <add name="HttpPostLocalhost"/> </protocols> </webServices>
Enregistrez Machine.config.
Cette modification de la configuration prend effet à la demande suivante d'un service Web XML hébergé par cet ordinateur.
Pour désactiver la prise en charge d'un protocole pour une seule application Web
Ouvrez le fichier Web.config du répertoire racine de l'application Web dans votre éditeur favori. (S'il n'existe pas de fichier Web.config, créez-le.)
Modifiez la section
webServices
du fichier Web.config afin de supprimer explicitement le paramètre de protocole. L'exemple suivant supprime explicitement les protocoles HTTP-POST et HTTP-GET :<webServices> <protocols> <remove name="HttpPost" /> <remove name="HttpGet" /> </protocols> </webServices>
Enregistrez Web.config.
Cette modification de la configuration prend effet à la demande suivante d'un service Web XML hébergé par l'application Web.
Page d'aide du service
La navigation vers l'URL du service Web XML sans aucun paramètre dans un navigateur Web permet à un client d'afficher la page d'aide du service; si celui-ci est configuré dans ce sens. Cette page d'aide contient, par défaut, des informations explicites sur la façon de communiquer avec le service Web XML et les méthodes qu'il expose. Étant donné que la page d'aide du service est simplement un Web Form ASP.NET, elle peut être remplacée ou modifiée pour inclure des éléments tels que le logo d'une société. Le nom du fichier de la page d'aide est spécifié dans l'élément XML <wsdlHelpGenerator> d'un fichier de configuration avec un paramètre par défaut DefaultWsdlHelpGenerator.aspx spécifié dans le fichier Machine.config. La page d'aide du service est affichée uniquement pour les services Web XML dans la portée d'un fichier de configuration dont le protocole Documentation est spécifié dans l'élément XML <protocols>. Par défaut, le protocole Documentation est spécifié dans le fichier Machine.config.
Pour désactiver la page d'aide d'une application Web
Ouvrez le fichier Web.config du répertoire racine de l'application Web dans votre éditeur favori. (S'il n'existe pas de fichier Web.config, créez-le.)
Modifiez la section
webServices
du fichier Web.config afin de supprimer explicitement le protocole Documentation.<webServices> <protocols> <remove name="Documentation" /> </protocols> </webServices>
Enregistrez Web.config.
Cette modification de la configuration prend effet à la demande suivante d'un service Web XML hébergé par l'application Web.
Remarque La suppression du protocole Documentation désactive également la génération de fichier WSDL pour tous les services Web XML de l'application Web. Les clients sont ainsi empêchés de générer une classe proxy, sauf si un fichier WSDL personnalisé est créé et fourni à leur intention. Pour laisser active la génération de fichier WSDL pour les services Web XML d'une application Web, mais sans fournir des informations lisibles par un humain concernant ces services, vous pouvez ajouter un élément <wsdlHelpGenerator> dans le fichier Web.config de l'application Web et assigner à l'attribut href une page HTML vide que vous avez créée. L'exemple de code suivant est un extrait d'un fichier Web.config qui assigne à la page d'aide du service un fichier
MyBlank.htm
situé dans le dossierdocs
, sous le dossier contenant le fichier Web.config.<webServices> <wsdlHelpGenerator href="docs/MyBlank.htm"/> </webServices>
Voir aussi
Déploiement de services Web XML | Activation de la découverte pour un service Web XML | Création de services Web XML à l'aide d'ASP.NET