Ich habe einen RESTful Web Service in IIS 6.0 gehostet, ich bin in der Lage, den Dienst im Browser zu durchsuchen. Wenn ich versuche, den gleichen Dienst über Client-Konsole App zuzugreifen, es mir die folgende Fehlermeldung geben:vorausgesetzt, das URI-Schema'http 'ist ungültig; erwartet 'https'
"provided URI scheme'http' is invalid; expected 'https', Parameter name: Via"
Mein WebService web.config hat diese Einstellungen:
<system.serviceModel>
<services>
<service behaviorConfiguration="ServiceBehavior" name="TestAPI">
<endpoint address="" behaviorConfiguration="RESTFriendly" binding="webHttpBinding" contract="ITestAPI" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="RESTFriendly">
<webHttp />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
Meine Client App hat App.config von wo ich die Adresse bekomme:
<appSettings>
<add key="WEBSERVICE" value="URL"/>
in der Main-Methode:
WebChannelFactory<ITestAPI> cf = new WebChannelFactory<IAPI>(baseAddress);
WebHttpBinding wb =cf.Endpoint.Binding as WebHttpBinding;
wb.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
wb.Security.Mode = WebHttpSecurityMode.Transport;
cf.Credentials.UserName.UserName = "usermane";
cf.Credentials.UserName.Password = "password";
ITestAPI channel = cf.CreateChannel();
string msg = channel.TestMethod();
Wenn es versucht Testmethod zu nennen, gibt es mir diesen Fehler.
hilfe plz. Danke im Voraus.
Der Wert ist Http-Adresse. –
Das ist das Problem. Sie geben an, dass Sie einen sicheren Transport wünschen, aber HTTP ist kein sicherer Transport. –
Vielen Dank für diese Antwort. –