Question

OK FOLKS .. Heres The Deal ->

J'ai consommé un service Web dans l'application de mon console et je suis capable de l'appeler avec succès à partir de ma machine locale.

problème de problèmes lorsque je déploierai l'application sur ma boîte Win 2K8. Je suis arrivé pour la première fois -> la télécommande n'a pas pu être résolue: "www.www.net ' -> et j'ai donc ajouté une webproxy et l'a accroché à la propriété .proxy du web-Service.

L'erreur suivante que j'ai rencontrée est -> la demande a échoué avec l'état HTTP 407: authentificationRequirequitée .Et je suis à une perte d'idées pour résoudre la même chose.

J'ai utilisé -> .proxy.credentials= system.net.credentialcache.defaultCredentials;et ont également défini explicitement des crédits de proxy -> nom d'utilisateur, mot de passe, domaine -> mais en vain sans

Le service de service Web fonctionne correctement lorsque vous avez accédé à un navigateur à partir du serveur.

Toute aide serait très appréciée.

Merci pour votre temps.

rgds,

Était-ce utile?

La solution 2

Ok .. Heres Qu'est-ce que cela a finalement fonctionné ->

Enregistrez-vous avec les gars NOC (réseau) - et ils ont activé un accès explicite basé sur IP aux demandes / réponses au serveur.

Cela entraînera-t-il une violation de sécurité - eh bien, je ne suis pas sûr.

rgds,

Autres conseils

Êtes-vous derrière un proxyserver? Votre navigateur a-t-il un serveur proxy configuré? 407 signifie "authentification proxy requise", vous devez donc fournir des informations d'identification auxquelles vous pouvez vous authentifier sur le serveur proxy. Ma première hypothèse est que vous avez besoin de cela.

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

Et puis vous devez utiliser l'objet proxy comme serveur proxy pour votre service Web.

Vous pouvez également utiliser le serveur proxy configuré des systèmes:

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

ou vous pouvez même le mettre en place dans web.config (mais je pense qu'il n'est pas possible de fournir des informations d'identification ici:

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

Si tout fonctionne bien, vous pouvez fournir un moyen de configurer le proxyserver et les informations d'identification au moment de l'exécution, de l'extérieur de votre code. Sinon, vous devez toujours recompiler des choses si quelque chose dans votre environnement de production ou votre emplacement change. Vous pouvez mettre cela dans votre section AppSettings dans web.config, dans une base de données, app.config, etc.

Assurez-vous également de fournir le bon numéro de port dans vos paramètres (par exemple, 192.168.1.100:8888)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top