2009-06-20 41 views
5

Necesito consumir un servicio WCF pero estoy detrás de un servidor proxy y este servidor proxy requiere un nombre de usuario y una contraseña.Autenticación del servidor proxy para el servicio WCF

no puedo encontrar una manera de establecer que, si se trataba de un servicio Web, tan sólo pudiera hacer algo como

ws.Proxy = myProxyServer; 

¿Cómo puedo hacer esto con un servicio WCF?

+0

Tener la respuesta aceptada estaría bien, gracias. –

Respuesta

7

En la configuración de la unión de WCF, utilice la propiedad useDefaultWebProxy hacer WCF utilizar el proxy predeterminado de Windows (que puede ser ajustado por el IE de configuración de red):

<bindings> 
<basicHttpBinding> 
<binding name="ESBWSSL" ...everything... useDefaultWebProxy="true"> 

Luego, en el código, antes de utilizar la conexión , hacer esto:

WebProxy wproxy = new WebProxy("new proxy",true); 
wproxy.Credentials = new NetworkCredential("user", "pass"); 

y con el objeto WebRequest, antes de ejecutar la llamada:

WebRequest.DefaultWebProxy = wproxy; 

No he probado el código, pero creo que esto debería funcionar.

+0

¿qué tal el nombre de usuario y la contraseña? –

+0

Hola Hans, acabo de agregar información extra. ¿Puedes intentar eso? No lo he usado, pero debería funcionar. –

+0

@Eduardo: él está usando WCF. ¿Estás seguro de que WCF usa la propiedad WebRequest.DefaultProxy? –

0

Nota sustituyen respuesta anterior comentario sobre la base de

De hecho, había otra respuesta stackoverflow que cubría el establecimiento de credenciales en un proxy.

Is it possible to specify proxy credentials in your web.config?

+0

Creo que quiere poder establecer la autenticación para el servidor proxy. Además, podría ser útil mostrar cómo el código los establecería: ¿de dónde vino el "cliente" en su ejemplo, por ejemplo? –

+0

sí ... autenticación para el servidor proxy ... –

Cuestiones relacionadas