PRB: Error en.NET que consume un servicio Web a través de un servidor proxy HTTP

Seleccione idioma Seleccione idioma
Id. de artículo: 318140 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Nota La siguiente.Es el espacio de nombres de biblioteca de clases de NET Framework hace referencia en este artículo:

System.NET

Cuando se utiliza una.NET cliente para consumir un servicio Web a través de un servidor proxy HTTP, puede recibir el mensaje de error siguiente:
La conexión subyacente se ha cerrado: no se pudo resolver el nombre remoto.

Causa

Existe un servidor proxy HTTP entre el servicio Web y el .NET y la configuración de proxy correcta no se ha configurado.

Solución

Para resolver este problema, proporcione al servidor proxy adecuada Opciones de configuración para el.Cliente de red.

Más información

Los siguientes son los valores predeterminados en el Archivo Machine.config:

<configuration>
   <system.net>
      <defaultProxy>
         <proxy
            usesystemdefault = "true"
         />
      </defaultProxy>
   </system.net>
</configuration>

				
Si la configuración predeterminada no detecta automáticamente el servidor proxy configuración, establezca usessystemdefault en false y, a continuación, designar explícitamente el servidor proxy. Para designar el servidor proxy de forma explícita, utilice ya sea el archivo Machine.config o Web.config archivo o especifica el servidor mediante programación.

Para especificar el servidor proxy, establecer la configuración del archivo Machine.config o Web.config como a continuación:

<configuration>
   <system.net>
      <defaultProxy>
         <proxy
            usesystemdefault = "false"
            proxyaddress="http://proxyserver"
            bypassonlocal="true"
         />
      </defaultProxy>
   </system.net>
</configuration>

				
Para cambiar la configuración mediante programación, utilizando un objeto WebProxy , utilice el siguiente código de ejemplo:

Using System.Net;

com.someserver.somewebservice.someclass MyWebServiceClass = new com.someserver.somewebservice.someclass();

IWebProxy proxyObject = new WebProxy("http://myproxyserver:80", true);
MyWebServiceClass.Proxy = proxyObject;

MyWebServiceClass.MyWebMethod();

				


Servidores proxy que requieren la autenticación NTLM

Para establecer la autenticación NTML del servidor proxy, utilice el siguiente código de ejemplo:
Using System.Net;

WebProxy myProxy = new WebProxy("http://proxyserver:port",true); myProxy.Credentials = CredentialCache.DefaultCredentials; FindServiceSoap myFindService = new FindServiceSoap(); myFindService.Proxy = myProxy;
También puede utilizar el proxy de todo el sistema como predeterminada. Para ello, utilice la siguiente configuración en el archivo de configuración:
<configuration> 
   <system.net> 
     <defaultProxy> 
        <proxy 
           proxyaddress = "http://proxyserver:80" 
           bypassonlocal = "true" /> 
     </defaultProxy> 
  </system.net> 
</configuration>

Referencias

Para obtener más información, consulte el siguiente desarrollador de Microsoft Sitios Web de Network (MSDN):
Interfaz de IWebProxy

<defaultProxy>Elemento</defaultProxy>
Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
307220Cómo configurar un cliente de servicios Web XML mediante el.NET Framework para trabajar con un servidor proxy

Propiedades

Id. de artículo: 318140 - Última revisión: lunes, 18 de junio de 2012 - Versión: 1.0
La información de este artículo se refiere a:
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
Palabras clave: 
kbprb kbmt KB318140 KbMtes
Traducción automática
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.
Haga clic aquí para ver el artículo original (en inglés): 318140

Enviar comentarios

 

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