Se produce un error en el objeto ServerXMLHTTP cuando la dirección URL contiene más de dos espacios

Síntomas

Si una dirección URL contiene más de dos espacios, puede fallar el objeto ServerXMLHTTP con el mensaje de error siguiente:
Error de tiempo de ejecución '-2147012891 (80072ee5)' la dirección URL no es válida

Solución

Existe un hotfix disponible desde Microsoft. Sin embargo, esta revisión se diseñó para corregir únicamente el problema que se describe en este artículo. Aplíquela sólo a sistemas que experimenten este problema específico. Esta revisión podría ser sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere a la próxima actualización de software que contenga este hotfix.

Si la revisión está disponible para su descarga, hay una sección de "Descarga de revisión disponible" en la parte superior de este artículo de Knowledge Base. Si esta sección no aparece, póngase en contacto con el servicio al cliente de Microsoft y soporte técnico para obtener la revisión.

Nota: Si se producen problemas adicionales o si se requiere cualquier otra solución, será necesario crear una solicitud de revisión independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no califican para esta revisión específica. Para obtener una lista completa de los números de teléfono de servicio al cliente de Microsoft o para crear una solicitud de servicio independiente, visite el siguiente sitio Web de Microsoft:Nota: El formulario de "Descarga de Hotfix disponible" muestra los idiomas para los que el Hotfix está disponible. Si no ve su idioma, es porque no hay una revisión para ese idioma. La versión en inglés de esta revisión tiene los atributos de archivo (o posterior) que figuran en la tabla siguiente. Las fechas y horas de estos archivos se muestran en hora universal coordinada (UTC). Al ver la información del archivo, se convierte en hora local. Para encontrar la diferencia entre la hora UTC y la hora local, utilice la ficha zona horaria en la herramienta fecha y hora del Panel de Control.

   Date        Version       Size       File Name     Platform
-----------------------------------------------------------
4-May-2002 8.20.9703.0 1,120,768 Msxml3.dll x86


Solución alternativa

Para evitar este problema, reemplace cada espacio en la dirección URL con el carácter de escape estándar de dirección URL (% 20).

Estado

Microsoft ha confirmado que se trata de un error en los productos de Microsoft que se enumeran al principio de este artículo.

Más información

Pasos para reproducir el comportamiento

  1. Pegue el código siguiente en un archivo de texto y, a continuación, guarde el archivo como C:\Inetpub\wwwroot\Test.asp:
    <%Response.write Request.Querystring("data")
    Response.end
    %>

  2. En Microsoft Visual Basic 6.0, cree un nuevo proyecto EXE estándar. De forma predeterminada, Form1 se agrega al proyecto.
  3. Pegue el código siguiente en el evento Load del formulario:
    Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
    ' Line 1
    xmlhttp.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", False

    xmlhttp.setRequestHeader "Content-type", "text/xml" '"application/xml"
    xmlhttp.send
    MsgBox xmlhttp.responsetext
    Debug.Print xmlhttp.responsetext
    MsgBox "Completed HTTP GET using ServerXMLHTTP Object"

  4. Ejecute el proyecto. Observe que recibe el mensaje de error que se enumera en la sección "Síntomas" de este artículo.
  5. Detenga el proyecto.
  6. Comentario a la línea tras línea 1 y, a continuación, elimine la línea después de la línea 2.
  7. Ejecute el proyecto. Observe que un cuadro de mensaje muestra "Completed HTTP GET utilizar objeto ServerXMLHTTP". Observe que la dirección URL utiliza el carácter de escape (% 20) de dirección URL en lugar de los espacios.
Propiedades

Id. de artículo: 312989 - Última revisión: 22 ene. 2017 - Revisión: 1

Comentarios