2010-02-18 15 views
1

J'ai une application console qui communique avec un service Web. Les deux sont sur la même machine.Impossible d'accéder au service Web lors de la connexion au réseau :: HTTP 407

Lorsque j'accède au service Web alors que le LAN est désactivé, il se connecte sans problème. Mais si le LAN est activé et connecté à notre réseau de bureau, je reçois cette erreur:

"Authentification par proxy HTTP 407 requise - ISA Server nécessite une autorisation pour répondre à la demande L'accès au service du proxy Web est refusé."

Nous sommes à la recherche de la source du problème depuis trois jours maintenant. Nous avons essayé tout ce que nous pouvons penser. Des idées sur ce qui cause le problème?

Notes supplémentaires: - La machine est dans une configuration de groupe de travail mais avec le suffixe DNS (computer.local). Lorsque vous accédez au service Web, nous tapons l'adresse comme « http://machine.computer.local/service.asmx »

  • J'ai parlé aux gars de l'informatique et ils ont dit que nous ne disposons pas d'un serveur ISA installé

  • Il n'y a pas « proxy "définir dans IE.

  • La machine est en parfait état.

+0

Je voudrais commencer avec certains outils de débogage réseau comme Wireshark et Fiddler2. – Foole

+0

Merci pour le conseil. :) À votre avis, qui est plus convivial des deux? – Ian

+0

Wireshark est moins convivial, mais mieux pour le débogage de niveau inférieur. Je voudrais essayer Wireshark seulement après avoir été incapable de le résoudre avec Fiddler2. NB Wireshark ne fonctionnera pas sur l'interface de bouclage sous Windows. – Foole

Répondre

1

Apparemment, les gars de l'informatique que j'ai parlé avec ne connaît pas le serveur ISA d'entreprise à l'échelle. En utilisant Wireshark, j'ai jeté les données dans un fichier HTML (une page d'erreur HTTP 407 standard). Il a clairement montré le nom d'hôte et l'adresse IP du serveur ISA.

En bref, le problème est le serveur ISA. Bien que la raison pour laquelle la machine contacterait le serveur ISA reste mystérieuse si le serveur IIS hébergeant le site se trouve sur la machine elle-même (localhost).

Solution de contournement: utilisez la propriété bypassonlocal.

<configuration> 
    <system.net> 
     <defaultProxy> 
     <proxy proxyaddress="<ISA-SERVER>" bypassonlocal="true"/> 
     </defaultProxy> 
    </system.net> 
</configuration> 
0

Essayez d'ajouter la ligne suivante à votre fichier hosts:

127.0.0.1 machine.computer.local 
+0

Nous avons déjà essayé cela. Le problème est, lorsque nous avons essayé de ping sur "machine.computer.local" localement, l'adresse IP retournée n'est pas 127.0.0.1. – Ian

+0

Je pense que vous aurez plus de chance d'obtenir une réponse correcte dans serverfault.com. Voter pour migrer. –

0

dans la section "Configuration" dans web.config ajouter ceci:

<system.net> 
    <defaultProxy enabled="true" useDefaultCredentials="true"></defaultProxy> 
</system.net> 

fonctionne alors comme un charme!