症状
请考虑以下情形:
- 用户的邮箱托管在 Microsoft Exchange Server 2010 或 Microsoft Exchange Server 2013 上。
- 用户将 Apple iOS 设备更新到 iOS 7.0。
- 用户尝试将基于 iOS 7.0 的设备与 Exchange Server 邮箱同步。
在此方案中,用户无法将其基于 iOS 7.0 的设备与托管在 Exchange Server 上的邮箱同步。 此外,以下事件记录在具有客户端访问角色的 Exchange Server 2010 计算机或 Exchange Server 2013 计算机上的应用程序日志中:
注意
ID: 4999
级别:错误
来源: MSExchange 通用
消息:即将发送的 Watson 报告 进程 ID:进程 ID>,参数:E12、<生成类型>、<应用程序版本>、AirSync、M.Exchange.Compliance、M.E.S.C.MessageDigestForNonCryptographicPurposes.HashCore、System.ArgumentOutOfRangeException、<callstackHash>、<程序集版本>。 <
此外,Exchange ActiveSync 日志中会记录类似下面这样的错误消息。
请注意,如果基于 iOS 7.0 的设备在服务器异常返回后重复发送 Provision 命令,则此 Provision 命令的状态 110 错误可能会出现多次。 在测试中,某些 iOS 设备发送 Provision 命令的次数超过 2,000 次,即使在连续失败之后也是如此。
注意
AssemblyVersion :
14.02.0328.009
标识符:
4D7D0057
RequestHeader :
POST /Microsoft-Server-ActiveSync/default.eas?User=johndoe&DeviceId=ApplDMPGH8DWDFJ3&DeviceType=iPad&Cmd=Provision HTTP/1.1
连接: keep-alive
内容长度:136
Content-Type: application/vnd.ms-sync.wbxml
接受:*/*
接受-编码: gzip、deflate
接受语言: en-us
授权:********
Cookie: Cookie=R3437444435
主机:contosocas.com
用户代理:Apple-iPad2C2/1101.465
MS-ASProtocolVersion: 14.1
RequestBody :
<?xml version=“1.0” encoding=“utf-8” ?>
<Provision xmlns=“Provision:”>
<DeviceInformation xmlns=“Settings:”>
<设置>
<型号>iPad2C2</型号>
<UserAgent>iOS/7.0 (11A465) dataaccessd/1.0</UserAgent>
<OS>iOS 7.0 11A465</OS>
<OSLanguage>en</OSLanguage>
<FriendlyName>Black iPad 2</FriendlyName>
</设置>
</DeviceInformation>
<策略>
<策略>
<PolicyType>MS-EAS-Provisioning-WBXML</PolicyType>
</Policy>
</Policies>
</provision>
Command_WorkerThread_Exception:
---异常开始---
异常类型:System.ArgumentOutOfRangeException
异常消息:需要非负数。
参数名称:count
异常级别:0
异常堆栈跟踪:在 System.Buffer.BlockCopy (数组 src、Int32 srcOffset、数组 dst、Int32 dstOffset、Int32 count)
在 Microsoft.Exchange.Security.Compliance.MessageDigestForNonCryptographicPurposes.HashCore (Byte[] array, Int32 ibStart, Int32 cbSize)
在 System.Security.Cryptography.HashAlgorithm.ComputeHash (Byte[] buffer)
位于 Microsoft.Exchange.Configuration.SQM.SmsSqmDataPointHelper.Generate64BitUserID (字符串 legacyDN)
在 Microsoft.Exchange.Configuration.SQM.SmsSqmDataPointHelper.AddDeviceInfoReceivedDataPoint (SmsSqmSession 实例、ADObjectId id、字符串 legacyDN、字符串 deviceType、字符串 versionString)
在 Microsoft.Exchange.AirSync.DeviceInformationSetting.ProcessSet (XmlNode setNode)
在 Microsoft.Exchange.AirSync.DeviceInformationSetting.Execute ()
在 Microsoft.Exchange.AirSync.ProvisionCommand.ProcessDeviceInformationSettings (XmlNode 响应)
在 Microsoft.Exchange.AirSync.ProvisionCommand.ExecuteCommand ()
在 Microsoft.Exchange.AirSync.Command.WorkerThread ()
--- 异常结束---
AccessState :
允许
AccessStateReason :
全局
ResponseHeader :
HTTP/1.1 200 OK
ResponseBody :
<?xml version=“1.0” encoding=“utf-8” ?>
<Provision xmlns=“Provision:”>
<状态>110</状态>
</provision>
原因
出现此问题的原因是 ActiveSync 和 W3wp.exe 的多个线程同时尝试访问受保护的对象。 这会使对象进入错误状态。
解决方法
Exchange Server 2013
若要在 Exchange Server 2013 中解决此问题,请安装以下 Microsoft 知识库文章中描述的更新:
2859928 Exchange Server 2013 累积更新 2 的说明
Exchange Server 2010
若要在 Exchange Server 2010 中解决此问题,请安装 Microsoft 知识库中的以下文章中描述的更新汇总:
2866475 Exchange Server 2010 SP3 更新汇总 2 的说明
状态
Apple 正在调查 iOS 7.0 设备在返回错误后发送许多预配命令的问题。 我们将在有更多信息时更新本文。
详细信息
使用 Exchange Server 对 ActiveSync 进行故障排除导引演练有助于解决以下问题:
- 无法在设备上创建配置文件
- 无法连接到服务器
- 邮件问题
- 日历问题
- 设备/CAS 性能延迟