如何让具有BasicHttpSecurityMode.None的WCF客户端连接到https服务

时间:2016-07-07 14:40:23

标签: wcf security dynamics-crm-2013

我正在调查有关现有环境的一些问题,我有点困惑......

我有一台服务器,其中Dynamics CRM插件使用wcf服务。它使用此代码创建连接。 WCF服务在https:// ...地址提供。它在这个环境中工作正常。

    private static ChannelFactory<IService1> GetChannelFactory()
    {
        var myBinding = new BasicHttpBinding
        {
            Name = "BasicHttpBinding_IService1",
            Security =
            {
                Mode = BasicHttpSecurityMode.None,
                Transport =
                {
                    ClientCredentialType = HttpClientCredentialType.None,
                    ProxyCredentialType = HttpProxyCredentialType.None
                }
            }
        };
        var endPointAddress = new EndpointAddress(_serviceUrl);
        return new ChannelFactory<IService1>(myBinding, endPointAddress);
    }

当我尝试在另一个环境中重新创建此设置时,我在连接到服务期间收到错误。它说“提供的URI方案'https'无效;预期'http'” 我知道可以通过将BasicHttpSecurityMode更改为Transport来解决它,但我需要在此环境中进行相同的设置。如果同一个应用程序在一种情况下需要http地址,但在其他情况下可以连接到https。我可以错过任何本地环境吗?是否可以覆盖硬编码设置? 我该怎么检查?

0 个答案:

没有答案