【发布时间】:2016-08-24 20:15:47
【问题描述】:
您好,我尝试了 stack over flow 中提供的所有解决方案。我收到“提供的 URI 方案 'https' 无效;预期为 'http'。参数名称:通过”错误。服务在 IIS7 中运行良好,当我尝试使用此服务时出现此错误。请查看我的 wcf 服务配置和客户端配置。
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation targetFramework="4.0"/>
<httpRuntime/>
</system.web>
<system.serviceModel>
<serviceHostingEnvironment >
<serviceActivations>
<add factory="System.ServiceModel.Activation.ServiceHostFactory" relativeAddress="./CARetriever.svc" service="CARetrieverInterface.CARetriever"/>
</serviceActivations>
</serviceHostingEnvironment>
<behaviors>
<serviceBehaviors>
<behavior name="MyTesting">
<!-- Other options would go here -->
<useRequestHeadersForMetadataAddress>
<defaultPorts>
<add scheme="https" port="443" />
</defaultPorts>
</useRequestHeadersForMetadataAddress>
<serviceMetadata httpsGetEnabled="True"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="CARetrieverInterface.CARetriever" behaviorConfiguration="MyTesting">
<endpoint address="https://sspumptest.dhr.state.ga.us/testcode/CARetriever.svc" binding="basicHttpBinding" contract="CARetrieverInterface.ICARetriever" bindingConfiguration="secureHttpBinding">
<identity>
<dns value="sspumptest.dhr.state.ga.us" />
</identity>
</endpoint>
<!--<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />-->
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="secureHttpBinding">
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
</security>
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
</configuration>
My client configuration is given below.
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_ICARetriever">
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="https://sspumptest.dhr.state.ga.us/testcode/CARetriever.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ICARetriever"
contract="CARetrieverRef.ICARetriever" name="BasicHttpBinding_ICARetriever" />
</client>
</system.serviceModel>
</configuration>
【问题讨论】:
标签: c# wcf https wcf-security basichttpbinding