WCF 4 Web服务中的UsernameToken和SSL - 但使用basicHttpBinding

时间:2012-04-02 00:15:34

标签: wcf ssl wcf-binding basichttpbinding usernametoken

几个月前我问过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)

1 个答案:

答案 0 :(得分:0)

根据我的评论(在原始问题下面),当使用WCFStorm作为客户时,这实际上是一个问题。

这个问题的解决方案之一是The provided URI scheme 'https' is invalid; expected 'http'. Parameter name: via

的答案之一

这是点击WCFStorm中的“配置”设置选项(不是“客户端配置”)。单击后,单击弹出对话框中的“安全”选项卡。确保“身份验证类型”设置为“无”(默认为“Windows身份验证”)。