在混合部署中无法接收 FederationInformation 或 405 方法不允许
原始 KB 编号: 2773628
注意
Microsoft Exchange Server 2010 Exchange 管理控制台中包含的混合配置向导不再受支持。 因此,不应再使用旧的混合配置向导。 请改用 Microsoft 365 混合配置向导。 有关详细信息,请参阅 适用于 Exchange 2010 的 Microsoft 365 混合配置向导。
问题
在 Microsoft 365 和本地 Exchange Server 2010 环境中的Exchange Online混合部署中,会遇到以下一个或多个症状:
使用“自动发现”选项从 Microsoft 365 组织创建组织关系时,会收到以下错误消息:
无法从外部组织接收联合信息
当 Microsoft 365 用户尝试查找本地用户的忙/闲信息时,不会显示忙/闲信息。
运行
Get-FederationInformation
Windows PowerShell cmdlet 时,会收到以下错误消息:HTTP 错误
不允许使用 405 方法
在本地 Exchange 2010 混合服务器文件夹中查看 Internet Information Services (IIS) 日志 C:\Inetpub\logs
时,会看到与关联终结点的连接出现 405 错误。 终结点如下所示:
- 邮箱移动终结点为 MrsProxy.svc。
- 自动发现终结点为 Autodiscover.svc。
例如,IIS 日志中的错误项可能如下所示:
<日期><时间> 10.10.10.1 POST /EWS/mrsproxy.svc - 443 test\admin 10.10.10.12 - 405 0 1 15
原因
如果 IIS 配置缺少 svc 集成处理程序映射,则会出现此问题。 以下屏幕截图显示了 IIS 中 svc 集成处理程序映射的示例:
解决方案
若要解决此问题,请在 Internet Information Services (IIS) Manager 中,检查服务器级别的处理程序映射:
方法 1:在 IIS 中重新安装处理程序映射
注意
在执行这些步骤之前,请备份 IIS 配置。
运行 ServiceModelReg.exe -r
命令以重新安装 IIS 中的处理程序映射。 为此,请按照下列步骤操作:
在 Exchange 2010 混合服务器上,打开命令提示符窗口,然后导航到以下文件夹:
C:\Windows\Microsoft.Net\Framework\v3.0\Windows Communication Foundation
键入以下命令,然后按 Enter:
ServiceModelReg.exe -r
注意
运行此命令后,可能需要重启 IIS。
方法 2:检查服务器级别的处理程序映射
在 IIS 管理器中,展开 “默认网站”,然后选择“自动发现虚拟目录”。
打开处理程序映射。
- 如果存在 svc 集成处理程序映射,请转到步骤 8。
- 如果缺少 svc 集成处理程序映射,请转到步骤 3。
备份自动发现虚拟目录中的 web.config 文件。
在 “操作 ”窗格中,单击“ 还原到父级”,然后单击“ 是 ”进行确认。
确认自动发现虚拟目录中存在 svc 集成处理程序映射。
重置自动发现虚拟目录。 为此,请打开 Exchange 命令行管理程序,然后运行以下命令:
Remove-AutodiscoverVirtualDirectory "<ServerName>\Autodiscover (Default Web Site)" New-AutodiscoverVirtualDirectory -WebSiteName "Default Web Site" -WSSecurityAuthentication:$True
复制备份 web.config 文件中的处理程序,然后将其粘贴到 web.config 文件中。 处理程序应位于 web.config 文件的 system.webServer 和 </system.webServer> 标记中<。>
web.config 文件至少应包含以下处理程序:
<handlers> <add name="AutodiscoverAsmxHandler" path="*.asmx" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> <add name="AutodiscoverXMLHandler" path="*.xml" verb="POST" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> <add name="AutodiscoverDiscoveryLegacyHandler" path="*.xml" verb="GET" type="Microsoft.Exchange.Autodiscover.WCF.LegacyHttpHandler, Microsoft.Exchange.Autodiscover, Version=14.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv2.0" /> <add name="AutodiscoverDiscoveryHandler" path="*.svc" verb="GET" type="Microsoft.Exchange.Autodiscover.WCF.AutodiscoverDiscoveryHttpHandler, Microsoft.Exchange.Autodiscover, Version=14.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv2.0" /> </handlers>
重新启动 IIS。 为此,请在命令提示符下运行
iisreset /noforce
。
更多信息
遇到此问题时,你可能会注意到,与客户端访问服务器 (CAS) 的其他连接(例如,通过自动发现服务设置用户配置文件时)不受影响。 这是因为此操作不使用 svc 终结点。 在这种情况下,使用 svc 终结点的任何连接都不起作用,但其他终结点通常不受影响。
仍然需要帮助? 转到 Microsoft 社区或 Exchange TechNet 论坛。