Ich habe ein Client-Programm, das einen Web-Service verbraucht. Es funktioniert ziemlich gut in einer Reihe von Installationen. Jetzt habe ich eine Situation, in der ein neuer Kunde sich über einen Proxy-Server mit dem Internet verbindet und der Versuch meines Programms, auf den Web-Service zuzugreifen, den Fehler "HTTP-Status 407: Proxy-Authentifizierung erforderlich" erhält.Verwenden eines Web-Service über einen Internet-Proxy-Server unter Verwendung eines WCF-Clients in C#; Proxy-Server-Authentifizierung bereitstellen
Ich dachte, dass all das Konfigurieren von Internetzugang, einschließlich Proxy-Server-Adresse, würde Portnummer und die Authentifizierung in der Systemsteuerung auf Internetoptionen durchgeführt werden, und dass ich nicht darüber im Code kümmern, oder sogar in der app.config des Web-Service-Clients.
Habe ich es alles falsch?
Was ich in der Zwischenzeit getan habe, ist dem Benutzer die Möglichkeit geben, die Proxy-Benutzername und das Passwort eingeben und dann in meinem Code zu konfigurieren ich Folgendes tun:
webServiceClient.ClientCredentials.UserName.UserName = configuredUsername;
webServiceClient.ClientCredentials.UserName.Password = configuredPassword;
Aber ich weiß nicht, dass dies das Richtige ist. Weil es scheint, dass die obigen ClientCredentials sich auf die Web-Service-Bindung/-Sicherheit beziehen, nicht auf den Internet-Proxy-Server.
Ich glaube, ich es beim Kunden versuchen kann, aber ich würde lieber sicher sein, was ich zuerst mache.
Was, wenn der Web-Service seine eigenen Anmeldeinformationen erfordert, wissen Sie, wie sie zusammen mit dem Proxy hinzufügen Anmeldung? –
Diese Lösung arbeitet, wenn der Dienst und Proxy die gleichen Anmeldeinformationen benötigen, aber falls beide erfordern Anmeldeinformationen des eigenen dann, wie die Anmeldeinformationen einzustellen. Im Falle von NTLM authentifizierten Proxy, welche Änderungen vorgenommen werden müssen? – wintersolider
@net_prog und ajay: Es tut mir leid, ich kann das nicht wirklich beantworten, ohne eine ganze Menge Forschung zu betreiben. Ich habe es geschafft, meine Lösung vor fünf Jahren zurück zu bekommen, und seitdem habe ich nie wieder so etwas gesehen. – Peter