Pregunta

OK FOLKS .. HERES EL DESATO ->

He consumido un servicio web en mi aplicación de consola y puedo invocar con éxito lo mismo cuando se ejecuta desde mi máquina local.

PROBLEMAS BREVES Cuando despliegue la aplicación en mi casilla Win 2k8. Primero me ocurrió -> El nombre remoto no se pudo resolver: 'www.www.net' -> y, por lo tanto, agregué una webproxy y se conecté a la propiedad .proxy de la web.servicio.

El siguiente error en el que me he encontrado es -> La solicitud falló con el estado HTTP 407: autenticationRequired .Y estoy en una pérdida de ideas para resolver lo mismo.

He usado -> .proxy.crenentials= system.net.credencialcache.defaultcrenexs;y también se han definido explícitamente creditos proxy -> Nombre de usuario, contraseña, dominio -> Pero, sin éxito

El servicio web funciona bien cuando se accede a través de un navegador desde el servidor.

Cualquier ayuda sería muy apreciada.

Gracias por su tiempo.

rgds,

¿Fue útil?

Solución 2

OK .. HERES, ¿qué tiene funcionando finalmente ->

En contacto con los chicos de NOC (Network), y a su vez encendieron un acceso explícito basado en IP a las solicitudes / respuesta a / desde el servidor.

hará eso resultará en una brecha de seguridad, bueno, no estoy seguro.

rgds,

Otros consejos

¿Estás detrás de un proxyserver? ¿Su navegador tiene un servidor proxy configurado? 407 significa "autenticación de proxy requerida", por lo que debe proporcionar credenciales con las que puede autenticarse en el servidor proxy. Mi primera suposición es que necesitas algo así.

  var credentials = new NetworkCredential("username", "password", "domain");
  WebProxy proxy = new WebProxy("YourProxyServerUri", true) { Credentials = credentials };

y luego debe usar el objeto proxy TE como servidor proxy para su servicio web.

También puede usar el servidor proxy configurado de sistemas:

  WebProxy myProxy = (WebProxy) System.Net.HttpWebRequest.GetSystemWebProxy();

o incluso podría configurarlo en web.config (pero creo que no es posible proporcionar credenciales aquí:

 <system.net> 
      <defaultProxy useDefaultCredentials="true"> 
         <proxy usesystemdefault="False" proxyaddress="YourProxyServerUri"                
          bypassonlocal="True" /> 
      </defaultProxy> 
 </system.net>

Si todos funciona bien, es posible que desee proporcionar alguna forma de configurar el ProxyServer y las credenciales en tiempo de ejecución, desde fuera de su código. De lo contrario, siempre tiene que recompilar cosas si algo en su entorno de producción o cambios de ubicación. Puede poner esto en su sección de AppSettings en Web.Config, en una base de datos, App.Config, etc.

Asegúrese de que usted proporcione el número de puerto derecho en su configuración (por ejemplo, 192.168.1.100:8888)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top