WCF 4 Web 服务中的 UsernameToken 和 SSL - 但使用 basicHttpBinding
Posted
技术标签:
【中文标题】WCF 4 Web 服务中的 UsernameToken 和 SSL - 但使用 basicHttpBinding【英文标题】:UsernameToken and SSL in WCF 4 web service - but with basicHttpBinding 【发布时间】:2012-04-15 16:56:10 【问题描述】:几个月前,我询问了UsernameToken and SSL in WCF 4 web service,并使用 wsHttpBinding 得到了很好的回答。
但是,由于与 Java 客户端不兼容,现在我们不得不恢复使用 basicHttpBinding。我尝试过如下切换配置....
<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)
【问题讨论】:
根据我的 cmets(在原始问题下方),当使用 WCFStorm 作为客户端时,这实际上是一个问题。
这个问题的解决方案是这个问题的答案之一The provided URI scheme 'https' is invalid; expected 'http'. Parameter name: via
这是在 WCFStorm 中单击“配置”设置选项(不是“客户端配置”)。单击该按钮后,单击弹出对话框中的“安全”选项卡。确保“身份验证类型”设置为“无”(默认为“Windows 身份验证”)。
【讨论】:
以上是关于WCF 4 Web 服务中的 UsernameToken 和 SSL - 但使用 basicHttpBinding的主要内容,如果未能解决你的问题,请参考以下文章
WCF Web 服务无法访问 Web Config 中的服务名称
从VB.NET Web表单调用我的第一个WCF服务中的函数会引发错误。函数调用缺少WCF函数中的参数