提供的URI方案“https”无效;预期'http' - 使用HTTPs的basicHttpBinding不起作用

时间:2011-08-25 05:33:56

标签: wcf

我有一个如下所示的wcf配置,我正在尝试在https上运行该服务。

<system.serviceModel>
    <bindings>
        <basicHttpBinding>
          <binding name="basicHttps">
            <security mode="TransportWithMessageCredential">
              <transport clientCredentialType="Username" />
              <message />
            </security>
          </binding>
        </basicHttpBinding>
    </bindings>

    <services>
       <service behaviorConfiguration="serviceBehavior" name="MyService">
        <endpoint address="mex" binding="mexHttpsBinding" bindingConfiguration=""
          bindingNamespace="http://mydomain.com" contract="IMetadataExchange" />

        <endpoint binding="basicHttpBinding" bindingConfiguration="basicHttps"
          name="basicTest" bindingNamespace="http://mydomain.com"
          contract="IMyContract" />
      </service>
    </services>

    <behaviors>
      <serviceBehaviors>
        <behavior name="serviceBehavior">
          <serviceMetadata httpsGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
          <serviceCredentials>
            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider"
              membershipProviderName="MySqlMembershipProvider" />
          </serviceCredentials>
        </behavior>
        <behavior>          
          <serviceMetadata httpGetEnabled="true" />
        </behavior>
    </serviceBehaviors>
      </behaviors>

    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>

WCFSTORM 错误输出: *

  

提供的URI方案“https”无效;预期'http'。

  • 请有人帮我指出上面配置中的错误吗?

我也试过这个但同样的错误:

<basicHttpBinding>
          <binding name="basicHttps">
            <security mode="Transport">
              <transport clientCredentialType="None" />
              <message />
            </security>
          </binding>
        </basicHttpBinding>

我的服务类如下所示:

namespace Service
{
    [ServiceBehavior(AddressFilterMode = AddressFilterMode.Any, Namespace = "http://mydomain.com")]
    class MyService : IMyContract
    {

    }

}

2 个答案:

答案 0 :(得分:4)

感谢所有对我的问题发表评论的人。终于我弄清楚了自己。配置都没问题。

问题在于WCF Storm,在Config对话框(WCF STORM)上应该将Authentication Type设置为NONE。

再次感谢你。

答案 1 :(得分:0)

或使用wsHttpBinding而不是basicHttpBinding而无需在WCFStorm端更改某些内容