https没有显示wsdl页面(WCF)

时间:2016-06-29 11:50:55

标签: c# web-services wcf wsdl

我已按照MSDN网站为WCF(4.5,使用简化配置)Web服务创建https站点 https://msdn.microsoft.com/en-us/library/hh556232(v=vs.110).aspx

当我导航到我的httphttps网站时。它显示我的目标网页很好(表示你已经创建了一个服务'并指向了wsdl等),所以我知道我的证书没问题。

但是,用于查找wsdl的Web服务登录页面中显示的链接显示为http://而不是https://,当我尝试导航到https://example.com?singleWsdl

我得到的是同一个欢迎页面而不是wsdl。

http一切正常。

以下是我更改为支持https的条目。还有什么我需要做的吗?我没有更改代码。

<basicHttpBinding>
  <binding name="HttpBinding" maxBufferPoolSize="2147483647" 
   maxBufferSize="2147483647" 
   maxReceivedMessageSize="2147483647" messageEncoding="Text">
    <readerQuotas maxDepth="2000000" 
      maxStringContentLength="2147483647" 
      maxArrayLength="2147483647" maxBytesPerRead="2147483647" 
      maxNameTableCharCount="2147483647" 
    />
  </binding>

 <binding name="HttpsBinding" maxBufferPoolSize="2147483647" 
    maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text">
    <security mode="Transport">
      <transport clientCredentialType="None" />
    </security>
    <readerQuotas maxDepth="2000000" 
       maxStringContentLength="2147483647" 
       maxArrayLength="2147483647" 
       maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" 
    />
 </binding>
</basicHttpBinding>

<protocolMapping>
  <add scheme="http" binding="basicHttpBinding" bindingConfiguration="HttpBinding" />
   <add scheme="https" binding="basicHttpBinding" bindingConfiguration="HttpsBinding" />
 </protocolMapping>

感谢。

2 个答案:

答案 0 :(得分:1)

如何使用此参数激活ServiceMetadata

   <serviceBehaviors>
    ...
    <serviceMetadata httpsGetEnabled="true"/>
    ...        
  </serviceBehaviors>

来源:https://msdn.microsoft.com/en-us/library/ms731317(v=vs.110).aspx#Anchor_1

查看他们的例子的结尾(我似乎无法将其作为引用)

答案 1 :(得分:0)

您的终点是什么样的?我相信对于https,你需要一个mexHttpsBinding端点。类似的东西:

<endpoint address="mex" binding="mexHttpsBinding" name="MexHttpsBindingEndpoint" contract="IMetadataExchange" />