我已按照MSDN网站为WCF(4.5,使用简化配置)Web服务创建https站点 https://msdn.microsoft.com/en-us/library/hh556232(v=vs.110).aspx
当我导航到我的http
或https
网站时。它显示我的目标网页很好(表示你已经创建了一个服务'并指向了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>
感谢。
答案 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" />