我有一个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'。
参数名称:via
我应该更改绑定或安全设置吗?
顺便禁用SSL证书。
答案 0 :(得分:1)
您似乎已在安全设置中配置UserNameOverTransport - &gt;在WCF中,只允许使用HTTPS绑定,因为密码使用此设置以明文形式传输。
安全方面一个很好的功能,在开发时可能有点讨厌。
答案 1 :(得分:1)
同意Georg。如果您有正当理由发送不安全的用户/通行证,则可以通过ClearUsernameBinding在消息级别执行此操作:http://webservices20.blogspot.com/2008/11/introducing-wcf-clearusernamebinding.html
答案 2 :(得分:0)
我收到同样的错误,并使用set as start project
用于.web
项目,现在它运行正常。