2010-06-28 4 views
1

"Pas encore ça" Je vous entends dire. Ouais je sais. Mais celui-ci est différent ... je pense.Client WCF + Service Windows + ISA = (407) Authentification proxy requise

Le scénario: J'ai un service Windows (exécuté en tant que système) qui consomme un service WCF distant. La machine se trouve derrière un proxy ISA (pas de domaine, et pas de nom d'utilisateur proxy/pwd) et j'ai ajouté le proxy à mon app.config. Ici, il est:

<system.net> 
    <defaultProxy useDefaultCredentials="true"> 
    <proxy 
     bypassonlocal="False" 
     proxyaddress="http://myproxyserver:8080" 
     usesystemdefault="False" /> 
    </defaultProxy> 
</system.net> 

L'exception:

System.Net.WebException: 
    The remote server returned an error: (407) Proxy Authentication Required. 
    at System.Net.HttpWebRequest.GetResponse() 
    at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel. ... 
    HttpChannelRequest.WaitForReply(TimeSpan timeout) 

Pourquoi est-ce différent? J'ai changé le service pour exécuter en tant qu'administrateur, et le service Windows a pu accéder au service WCF parfaitement. Malheureusement, j'ai besoin d'utiliser le compte SYSTEM, car le service exécute des choses COM + héritées, ce qui nécessite de définir l'option "Permettre au service d'interagir avec le bureau". (Cette option est disponible uniquement pour le compte SYSTEM)

Une autre raison pour laquelle cela est étrange est que le système est censé être le grand compte papa tout-puissant (morehere)

Ce que j'ai essayé: J'ai essayé this, this, et this ... et thensome.

Celui-ci est un peu un mystère. Pourquoi mon app.config fonctionnerait-il pour l'administrateur, mais pas pour SYSTEM?

Merci pour l'aide!

+0

Mise à jour: Lorsque la case "Autoriser le service à interagir avec le bureau" est désactivée, le client wcf fonctionne à nouveau. Hmm ... Je vais regarder plus dans ça. –

Répondre

0

J'ai trouvé le problème. Il s'avère que cela n'avait rien à voir avec le compte. Comme la période d'attente était assez longue, je n'ai pas toujours vu cette exception immédiatement, ce qui m'a amené à penser que cela avait quelque chose à voir avec le compte utilisé.

Le problème était que useDefaultCredentials a été défini sur false sur le site de production. Échouer.

+0

Alors, quel est était votre dernier réglage dans le web.config comparer à

+0

Je n'ai plus accès au fichier, mais cela semble correct. –

Questions connexes