INFO : Les protocoles HTTP GET et HTTP POST sont désactivés par défaut

Traductions disponibles Traductions disponibles
Numéro d'article: 819267 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article traite des modifications dans .NET Framework 1.1 qui affectent la méthode HTTP GET et la méthode HTTP POST sur un serveur Web. Il décrit également des solutions de contournement pour cette nouvelle fonctionnalité.

Plus d'informations

Les services Web .NET prennent en charge les protocoles HTTP GET, HTTP POST et SOAP. Dans .NET Framework 1.0, les trois protocoles sont activés par défaut. Dans .NET Framework 1.1, les protocoles HTTP GET et HTTP POST sont désactivés par défaut, pour des raisons de sécurité.

Les applications qui utilisent le protocole HTTP GET ou HTTP POST pour invoquer un service Web échouent lorsque le service Web est mis à niveau vers .NET Framework 1.1. Ces applications reçoivent un message d'erreur de type
System.Net.WebException
qui indique que le format de la demande n'est pas reconnu.

Notez que le formulaire de test HTML utilise le protocole HTTP POST et qu'il ne fonctionne donc pas dans .NET Framework 1.1, sauf sur localhost comme indiqué ci-dessous.

.NET Framework 1.1 définit un nouveau protocole nommé HttpPostLocalhost. Ce nouveau protocole est activé par défaut. Il permet d'invoquer des services Web qui utilisent des demandes HTTP POST provenant d'applications sur le même ordinateur, à condition que l'URL POST utilise http://localhost et non http://hostname. Les développeurs de services Web peuvent ainsi utiliser le formulaire de test HTML pour invoquer le service Web à partir de l'ordinateur sur lequel il réside.

Lorsque vous tentez d'accéder au service Web à partir d'un ordinateur distant, le bouton Appeler n'est pas affiché. Par ailleurs, le message d'erreur suivant s'affiche :

Le formulaire de test est uniquement disponible pour les demandes de l'ordinateur local.

Contournement

Les protocoles HTTP GET et HTTP POST peuvent être activés en modifiant le fichier Web.config de la racine virtuelle où réside le service Web. La configuration suivante active les protocoles HTTP GET et HTTP POST :
<configuration>
    <system.web>
    <webServices>
        <protocols>
            <add name="HttpGet"/>
            <add name="HttpPost"/>
        </protocols>
    </webServices>
    </system.web>
</configuration>
Vous pouvez également activer ces protocoles pour tous les services Web sur l'ordinateur en modifiant la section <protocols> dans Machine.config. L'exemple suivant active les protocoles HTTP GET, HTTP POST, SOAP et HTTP POST à partir de localhost :
<protocols>
	<add name="HttpSoap"/>
	<add name="HttpPost"/>
	<add name="HttpGet"/> 
	<add name="HttpPostLocalhost"/>
      <!-- Documentation enables the documentation/test pages -->
	<add name="Documentation"/>
</protocols>

Références

Pour plus d'informations sur la configuration des services Web, reportez-vous à l'élément <protocols> dans la documentation de .NET Framework 1.1 (en anglais) : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/gngrfprotocols.asp

Propriétés

Numéro d'article: 819267 - Dernière mise à jour: vendredi 3 novembre 2006 - Version: 1.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft .NET Framework 1.1
Mots-clés : 
kberrmsg kbinfo kbhttp kbwebserver kbwebclasses kbhtml KB819267
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.

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