【发布时间】:2026-01-06 04:35:01
【问题描述】:
我在 Windows Server 2008 R2 上有一个 WCF。我有 SSL 证书。
使用 IE,http URL 工作正常(我得到了我的数据),但使用 Https 我有一个 400 错误请求。
在我的 wcf 的 web.config 下方:
<?xml version="1.0" encoding="utf-8"?>
<bindings>
<basicHttpBinding>
<binding name="TransportSecurity">
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="ServiceRequestResourcesAspNetAjaxBehavior">
<webHttp defaultOutgoingResponseFormat="Json" />
</behavior>
<behavior name="ServiceRequestResourcesAspNetAjaxBehaviorHttps">
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="ServiceRequestResourcesBehaviors">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="ServiceRequestResourcesBehaviors"
name="BaseSite.ServiceRequestResources">
<endpoint address=""
behaviorConfiguration="ServiceRequestResourcesAspNetAjaxBehaviorHttps"
binding="basicHttpBinding"
bindingConfiguration="TransportSecurity"
contract="BaseSite.ServiceRequestResources" />
<endpoint address=""
behaviorConfiguration="ServiceRequestResourcesAspNetAjaxBehavior"
binding="webHttpBinding" contract="BaseSite.ServiceRequestResources" />
</service>
</services>
【问题讨论】:
-
尝试将 SvcTraceViewer 日志记录添加到您的配置中以获取有关错误的更多详细信息。
-
在使用 WCF 时,任何类型的证书警告都会导致错误 400。当您直接访问 URL 时,是否收到任何警告?
-
使用 SvcTraceViewer 我发现错误:“System.Xml.XmlException:无法读取消息正文,因为它是空的”
-
直接访问 URL 时的任何警告......