无法让wcf在wsdl中显示https

时间:2017-03-21 18:30:10

标签: .net wcf ssl https wsdl

我创建了一个仅在https上运行的测试WCF Web服务。它工作但在wsdl中显示http - 这是正确的吗? 这是我的web.config

<?xml version="1.0"?>
 <configuration>

  <system.web>
    <compilation debug="true" strict="false" explicit="true" targetFramework="4.0" />
    <customErrors mode="Off"/>
  </system.web>
  <system.serviceModel>

    <bindings>
      <wsHttpBinding>
        <binding name="TransportSecurity">
          <security mode="Transport">
            <transport clientCredentialType="None"/>
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>

    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata  httpsGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>


    <services>
      <service name="MyNamespace.WebServicesClass">
        <endpoint address ="" binding ="wsHttpBinding" bindingConfiguration="TransportSecurity" contract ="ITestWebService"/>
        <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/>
      </service>
    </services>


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

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
       <directoryBrowse enabled="true"/>
  </system.webServer>
</configuration>

这就是我在IE中看到的

wsdl:service name="WebServicesClass">
wsdl:port name="**BasicHttpBinding**_ITestWebService" binding="tns:**BasicHttpBinding**_ITestWebService"
soap:address location="**http**://xxxxxxx.com/TestWebService.svc"/
/wsdl:port
/wsdl:service

为什么http和为什么是BasicHttpBinding,当我在web.config中没有这个时?

0 个答案:

没有答案