Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

Que CORRIGE: Winhttp.dll produce una pérdida de memoria cuando se produce un error en autenticación integrada de Windows

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente. Si ve errores y desea ayudar con este esfuerzo, rellene la encuesta en la parte inferior de este artículo.

Haga clic aquí para ver el artículo original (en inglés): 826216
Síntomas
Cuando intenta consumir unos servicios Web desde un cliente que utiliza SOAP de Microsoft 3.0, puede observar una pérdida de memoria.

Nota Observa este comportamiento cuando establece el esquema de autenticación para Su objeto de cliente SOAP con autenticación integrada de Windows utilizando el código siguiente:
objSoapClient.ConnectorProperty("WinHTTPAuthScheme") = 2
Nota "objSoapClient" es el nombre de un objeto de cliente SOAP.
Causa
El objeto de cliente SOAP utiliza el componente Winhttp.dll. Si falla autenticación integrada de Windows, se produce una pérdida de memoria en el componente Winhttp.dll y observa el comportamiento mencionado en la sección "Síntomas".
Solución
Una revisión compatible está disponible en Microsoft. Sin embargo, está pensado que esta revisión corrija sólo el problema descrito en este artículo. Aplique esta revisión sólo a sistemas que experimentan este problema específico.

Si la revisión está disponible para descarga, hay una sección de "descarga disponible de revisión" al principio de este artículo de Knowledge Base. Si esta sección no aparece, envíe una solicitud a Servicio de atención al cliente de Microsoft y a Soporte técnico de obtener la revisión.

Nota Si se produce problemas adicionales o si es necesario solucionar cualquiera, podría tener que crear una solicitud de servicio independiente. Los costos habituales de soporte técnico se aplicarán a preguntas de soporte técnico y problemas que no cumplen esta revisión específica. Para que cree una solicitud de servicio independiente una lista completa o de número de teléfono Servicio de atención al cliente de Microsoft y Support, visite el sitio Web de Microsoft siguiente: Nota El formulario de "se descarga revisión disponible" muestra los idiomas para los que está disponible la revisión. Si no ve su Lenguaje, lo hay porque una revisión no está disponible para aquel idioma. La versión de esto en inglés tiene los atributos de archivo (o posteriormente) se enumeran aquéllos en la tabla siguiente. Las fechas y los tiempos para estos archivos aparecen en hora universal coordinada (en UTC). La información de los archivos se convertirá a la hora local cuando la vea Para ver la diferencia entre hora UTC y hora local, utilice la ficha Zona horaria en la herramienta Fecha y hora en Panel de control.

Sistema operativo Microsoft Windows 2000

     Date         Time   Version            Size    File name   --------------------------------------------------------------   27-Aug-2003  05:22  5.1.2600.1264     310,784  Winhttp.dll         				

Sistema operativo de Microsoft Windows XP

       Date         Time   Version            Size    File name   --------------------------------------------------------------   21-Aug-2003  05:46  5.1.2600.1264     945,152  Winhttp.dll           				
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados al principio de este artículo.
Más información

Pasos para reproducir este comportamiento

  1. Inicie Microsoft Visual Studio .NET.
  2. En el menú , seleccione y a continuación, haga clic en .
  3. Haga clic en o en en y a continuación, haga clic en en .
  4. Denomine el proyecto SampleWebService.
  5. En el archivo Service1.asmx, elimine el comentario del método de servicio Web.
  6. En el menú , haga clic en .
  7. Haga clic en y a continuación, haga clic en .
  8. Tipo inetmgr En el <UITERM>, Abra cuadro </UITERM> y a continuación, haga clic en .
  9. En la ventana , expanda .
  10. Haga clic con el botón secundario en y a continuación, haga clic en .
  11. En el cuadro de diálogo , haga clic en la ficha .
  12. En , haga clic en .
  13. En el cuadro de diálogo , haga clic para activar la casilla de verificación .

    Nota Asegúrese de que todas las otras casilla de verificación en el cuadro de diálogo Métodos de autenticación están desactivadas.
  14. Haga clic dos veces en para cerrar los cuadros de diálogo .
  15. Cierre la ventana .
  16. Inicie Microsoft Visual Basic 6.0.
  17. Cree un proyecto EXE estándar. De forma predeterminada, se crea Form1
  18. Agregue a Form1 un control y un control . Si el cuadro de herramientas no contiene el control , siga estos pasos:
    1. En el menú , haga clic en .
    2. Hacer clic para seleccionar.

      Nota hace clic en Examinar, hace clic en MSCOMCTL.OCX y a continuación, hace clic en Abrir si no contiene Microsoft Windows Common Controls 6.0 la ficha Controles del cuadro de diálogo Componentes.
    3. Haga clic en para cerrar los cuadros de diálogo .
  19. En el evento del control , pegue el código siguiente:
    Dim objSoapClient As ObjectDim wsdl As StringDim MySoapResponse As StringDim i As Long' The wsdl variable contains the physical path of the wsdl in the client.wsdl = "C:\SoapClient\SoapTestSrv.wsdl"Set objSoapClient = CreateObject("Mssoap.SoapClient30")objSoapClient.MSSoapInit wsdl' The value of AuthUser/AuthPassword must be incorrect for a memory leak to occur.objSoapClient.ConnectorProperty("AuthUser") = "TestUserid"objSoapClient.ConnectorProperty("AuthPassword") = "TestPassword"objSoapClient.ConnectorProperty("WinHTTPAuthScheme") = 2' Replace ServerName with the name of the server where the Web service Service1.asmx is hosted.objSoapClient.ConnectorProperty("EndPointURL") = "http://ServerName/SampleWebService/Service1.asmx"For i = 1 To 500000    On Error Resume Next    On Error GoTo Error    MySoapResponse = objSoapClient.HelloWorld    'If you run this code, you will notice a memory leak.    If (i Mod 500000) = 0 Then        ProgressBar1.Value = ProgressBar1.Value + 1    End IfError:    MsgBox (Err.Description)NextSet objSoapClient = Nothing
  20. En el menú , haga clic en . Se muestra Form1.
  21. En , haga clic en .
Nota Observa este comportamiento en cualquier aplicación que utiliza el componente Winhttp.dll y que también utiliza autenticación integrada de Windows.
Referencias
Para más información acerca de autenticación en WinHTTP, visite el sitio Web siguiente Microsoft Developer Network ( MSDN ): Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
305965 CÓMO PARA: Utiliza métodos de servicio Web XML utilizando SOAP Toolkit 2.0

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 826216 - Última revisión: 11/15/2007 14:08:20 - Revisión: 1.7

Microsoft SOAP Toolkit 3.0

  • kbautohotfix kbhotfixserver kbqfe kbqfe kbwebservices kbbug kbfix KB826216 KbMtes kbmt
Comentarios