几个月前我问过UsernameToken and SSL in WCF 4 web service并使用wsHttpBinding得到了一个很好的答案。
但是现在我们不得不恢复使用basicHttpBinding,因为它与Java客户端不兼容。我尝试按如下方式切换配置....
<bindings>
<basicHttpBinding>
<binding name="secureBinding">
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="None"/>
<message clientCredentialType="UserName"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
然后在服务中使用此配置...
<service name="ServiceName">
<endpoint binding="basicHttpBinding" bindingConfiguration="secureBinding" contract="ContractType" />
</service>
然而,当我尝试拨打此服务时,我收到了错误...
提供的URI方案“https”无效;预计'http'。 参数名称:via
我需要配置一些其他东西才能使其与basicHttpBinding一起使用吗?
(请注意:我原来的要求仍然相同 - SSL,usernametoken)
答案 0 :(得分:0)
根据我的评论(在原始问题下面),当使用WCFStorm作为客户时,这实际上是一个问题。
这个问题的解决方案之一是The provided URI scheme 'https' is invalid; expected 'http'. Parameter name: via
的答案之一这是点击WCFStorm中的“配置”设置选项(不是“客户端配置”)。单击后,单击弹出对话框中的“安全”选项卡。确保“身份验证类型”设置为“无”(默认为“Windows身份验证”)。