0

我有一个win服务配置文件如下

 <system.serviceModel>
<bindings>
  <basicHttpBinding>
    <binding name="BasicHttpBinding_webservice" closeTimeout="00:01:00"
      openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
      allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
      maxBufferSize="102400000" maxBufferPoolSize="102400000" maxReceivedMessageSize="102400000"
      messageEncoding="Mtom" textEncoding="utf-8" transferMode="Buffered"
      useDefaultWebProxy="true">
      <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="102400000"
        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
      <security mode="TransportCredentialOnly">
        <transport clientCredentialType="Basic" proxyCredentialType="None"
          realm="" />
        <message clientCredentialType="UserName" algorithmSuite="Default" />
      </security>
    </binding>
  </basicHttpBinding>
</bindings>
<client>
  <endpoint address="http://systemname/ProxyService/Service.svc"
    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_webservice"
    contract="ABC.webservice" name="BasicHttpBinding_webservice" />
</client>  

我收到以下错误。提供的 URI 方案“http”无效;预期的“https”。参数名称:通过
我应该更改绑定或安全设置吗?顺便说一句,SSL 证书被禁用。

4

3 回答 3

1

看起来您已经在安全设置中配置了 UserNameOverTransport --> 在 WCF 中,这仅允许使用 HTTPS 绑定,因为使用此设置以明文形式传输密码。

安全性是一个很好的功能,在开发时可能会有点讨厌。

于 2012-05-07T11:17:31.007 回答
1

同意格奥尔格。如果您有正当理由发送不安全的用户/密码,您可以通过 ClearUsernameBinding 在消息级别执行此操作:http ://webservices20.blogspot.com/2008/11/introducing-wcf-clearusernamebinding.html

于 2012-05-07T15:28:56.677 回答
0

我遇到了同样的错误并用于set as start project.web项目,现在它工作正常。

于 2012-09-18T05:36:44.160 回答