WCF - Wechsel von endpoint Adresse die Ergebnisse in securityexception
Mein WCF-Dienst verwendet wsHttpBinding und funktioniert von dem client, wenn der Dienst gerenated durch den client über die Standard-Optionen wie folgt:
RServiceClient R = new RServiceClient();
Aber irgendwann werde ich brauchen, um in der Lage sein, um den Speicherort anzugeben, der service, die vermutlich durch die änderung der endpoint-Adresse wie folgt:
RServiceClient R = new RServiceClient();
R.Endpoint.Address = new EndpointAddress(new Uri "http://xxx.xxxx.xxx:80/RServer/RService.svc"));
Jedoch, wenn ich geben Sie den genauen Endpunkt, bekomme ich eine SecurityNegotiationException:
System.ServiceModel.Sicherheit.SecurityNegotiationException war nicht behandelte
Message="Der Anrufer war nicht authentifiziert den Dienst."
Source="mscorlib"....
Den WCF-Dienst läuft auf dem IIS und die anonyme Zugriff aktiviert ist, unter " IIS-admin. Auch dieser Fehler tritt auf, wenn der client ausgeführt wird, von der gleichen Maschine wie der Dienst unter einem Administrator-Konto - ich havnt bekam der scary Teil läuft es über das Netz, noch nicht!
Irgendwelche Ideen?
InformationsquelleAutor Calanus | 2008-10-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Standardmäßig wsHttpBinding die Windows-Authentifizierung verwendet. Ich bin mir nicht sicher, wie Sie Sie in IIS gehostet wird, beeinflusst dieses Szenario.
Wenn Sie nicht möchten, dass die Sicherheit aktiviert ist, können Sie fügen Sie ein element für die Sicherheit und setzen Sie die mode-element auf "None" in der config an beiden enden zum ausschalten der Standardeinstellung.
Ich denke, dies kann den trick tun -- ich habe den Abschnitt für wsHttpBinding und legen Sie die bindingConfiguration von Ihrem service, der neu Hinzugefügt binding-Eigenschaften:
InformationsquelleAutor Mike L
überprüfen Sie diese aus Ihrer config :
afaik wsHttpBinding hat message security ist standardmäßig eingeschaltet.
und wenn es überprüft die dns-Wert "localhost" es scheitert.
InformationsquelleAutor Joachim Kerschbaumer
Sind Sie mit MessageSecurity mit Zertifikaten? dies könnte ein Zertifikats-Problem (falscher hostname, selbst-signiertes Zertifikat nicht installiert, etc..)
InformationsquelleAutor Joachim Kerschbaumer
Hier ist mein Service-Konfigurationsinformationen, ich bin mit wshttpbinding:
InformationsquelleAutor Calanus
Löschen der Identität block hat nicht funktioniert, obwohl gab mir eine Idee:
Wenn ich die endpoint-Adresse:
zu
dann funktioniert alles einwandfrei! Soo, es ist offenbar verärgert über die nichtlokale url-Adresse. Gibt es andere Bereiche, in die Konfiguration, wo ist die Sicherheit?
InformationsquelleAutor Calanus