Konnte nicht finden, eine Basisadresse entspricht Schema http für den Endpunkt mit binding WSHttpBinding
Ich dida wcf Benutzername/Passwort-Authentifizierung auf meinem lokalen Rechner, mit dem selbst signierten Zertifikat, alle funktioniert, aber wenn ich meine Anwendung auf IIS 7.5 und windows server 2008 R2, es sogenannte mir die Fehlermeldung:
Konnte nicht finden, eine Basisadresse entspricht Schema http für den Endpunkt mit binding WSHttpBinding. Eingetragene Basisadresse Systeme sind [https].
Meine web-service-cfg:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceCredentialsBehavior">
<serviceCredentials>
<serviceCertificate findValue="cn=AmicCert" storeName="Root" storeLocation="LocalMachine" />
<userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="Util.CustomUserNameValidator, Util" />
</serviceCredentials>
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="ServiceCredentialsBehavior" name="Service">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="MessageAndUserName" name="SecuredByTransportEndpoint" contract="IService" />
</service>
</services>
<bindings>
<wsHttpBinding>
<binding name="MessageAndUserName">
<security mode="Message">
<message clientCredentialType="UserName" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<client />
</system.serviceModel>
<system.web>
<compilation debug="true" />
</system.web>
</configuration>
Was es für mich gearbeitet address="mex" stackoverflow.com/questions/7285717/...
InformationsquelleAutor croisharp | 2011-07-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es klingt wie der IIS-Website-Instanz, die Sie veranstalten unter ist nur für konfiguriert HTTPS (SSL). Rechten Maustaste auf das Website-Instanz und wählen Sie "Edit Bindings...". Sehen Sie port 80 (plain-HTTP) dort aufgeführt? Überprüfen Sie auch die "SSL-Einstellungen" - Funktion, um sicherzustellen, dass die "Immer verlangen" - option ist nicht eingeschaltet.
Port ist egal, aber es muss eine nicht-HTTPS - /SSL-Adresse an die Website gebunden, weil Sie nicht mit den transport security (nur die message-Sicherheit) in deiner config.
Der Schlüsselsatz ist nicht vorhanden, gibt es sogenannte mich jetzt dieser Fehler 🙁
Ihre AmiCert Zertifikat muss nicht installiert werden, in den Speicher auf dem server noch.
Ich hatte einen WCF-Dienst, das funktioniert auch wunderbar mit einem server-cert, client message auth (user/pass) ein und dann aufgehört zu arbeiten, wird dieser Fehler angezeigt, nachdem ich aktualisierte mein server-Zertifikat. Ich habe nur geändert, den Fingerabdruck auf der server-config. Hat jemand begegnet das?
InformationsquelleAutor Drew Marsh
Drew ' s Antwort ist korrekt, wenn Sie nicht wollen, um die Verwendung von HTTPS/SSL für den Endpunkt.
Wenn Sie SSL verwenden möchten, um auf den Endpunkt, die Sie benötigen, zu ändern:
:
InformationsquelleAutor Darbio
Zu arbeiten und immer noch mit dem IIS SSL erforderlich ist, müssen Sie einige änderungen in Ihrer endpoint in der config-Datei: Legen Sie die
address
Eigentum der service-Adresse mit https (https://...
) und dielistenUri
Eigentum der service-Adresse mit http (http://...
). Dies gilt sowohl fürwsHttp
undbasicHttp
.InformationsquelleAutor Shathur