Objet ServerXMLHTTP échoue lorsque l’URL contient plus de deux espaces

IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d’une traduction incorrecte du contenu ou de son utilisation par les clients.

La version anglaise de cet article est la suivante: 312989
Symptômes
Si une URL contient plus de deux espaces, l’objet ServerXMLHTTP peut échouer avec le message d’erreur suivant :
Erreur d’exécution '-2147012891 (80072ee5)' l’URL n’est pas valide
Résolution
Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif vise à corriger uniquement le problème décrit dans cet article. Appliquez ce correctif uniquement aux systèmes rencontrant ce problème spécifique. Ce correctif va peut-être subir des tests supplémentaires. Par conséquent, si vous n'êtes pas sérieusement concerné par ce problème, nous vous recommandons d'attendre la prochaine mise à jour logicielle qui contiendra ce correctif.

Si le correctif est disponible pour le téléchargement, il existe une section « Téléchargement de correctif logiciel disponible » au début de cet article de la Base de connaissances. Si cette section n'apparaît pas, contactez le Service clientèle et Support de Microsoft pour obtenir le correctif.

Remarque Si des problèmes supplémentaires se produisent ou si des procédures de dépannage sont nécessaires, vous devrez peut-être formuler une demande de service distincte. Les coûts habituels du support technique s'appliqueront aux questions et problèmes qui ne relèvent pas de ce correctif logiciel. Pour une liste complète des numéros de téléphone du Service clientèle et soutien technique de Microsoft ou pour créer une demande de service distincte, visitez le site Web de Microsoft à l'adresse suivante : Remarque Le formulaire « Téléchargement de correctif logiciel disponible » affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas votre langue, c'est parce qu'il n'y a pas de correctif disponible pour cette langue.La version anglaise de ce correctif dispose des attributs de fichier (ou version ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont répertoriés dans le temps universel coordonné (UTC). Lorsque vous affichez les informations de fichier, il est converti en heure locale. Pour trouver la différence entre l’UTC et l’heure locale, utilisez l’onglet fuseau horaire dans l’outil Date et heure dans le panneau de configuration.
   Date        Version       Size       File Name     Platform   -----------------------------------------------------------   4-May-2002  8.20.9703.0   1,120,768  Msxml3.dll    x86				

Contournement
Pour contourner ce problème, remplacez chaque espace dans l’URL par le caractère d’échappement standard URL (% 20).
Statut
Microsoft a confirmé qu’il s’agit d’un bogue dans les produits Microsoft répertoriés au début de cet article.
Plus d'informations

Procédure pour reproduire le comportement

  1. Collez le code suivant dans un fichier texte, puis enregistrez le fichier sous C:\Inetpub\wwwroot\Test.asp :
    <%Response.write Request.Querystring("data")Response.end%>					
  2. Dans Microsoft Visual Basic 6.0, créez un nouveau projet EXE Standard. Par défaut, Form1 est ajouté au projet.
  3. Collez le code suivant dans la Charge événement du formulaire :
    Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")' Line 1xmlhttp.Open "GET", "http://localhost/test.asp?data=select * from customers", False' Line 2'xmlhttp.Open "GET", "http://localhost/test.asp?data=select%20*%20from%20customers", Falsexmlhttp.setRequestHeader "Content-type", "text/xml" '"application/xml"xmlhttp.sendMsgBox xmlhttp.responsetextDebug.Print xmlhttp.responsetextMsgBox "Completed HTTP GET using ServerXMLHTTP Object"					
  4. Exécutez le projet. Notez que vous recevez le message d’erreur répertorié dans la section « Symptômes » de cet article.
  5. Arrêtez le projet.
  6. Commentez la ligne après la ligne 1, puis supprimez les commentaires de la ligne après la ligne 2.
  7. Exécutez le projet. Notez qu’une boîte de message affiche « Objet ServerXMLHTTP obtenir à l’aide de HTTP de terminé. » Notez que l’URL utilise le caractère d’échappement de URL (% 20) au lieu des espaces.

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 312989 - Dernière mise à jour : 06/11/2016 08:03:00 - Révision : 2.0

  • kbautohotfix kbhotfixserver kbqfe kbbug kbfix kbmt KB312989 KbMtfr
Commentaires