No se puede sincronizar un buzón de Exchange después de actualizar un dispositivo Apple iOS a iOS 7.0

Se aplica a
Exchange Server 2010 Standard Exchange Server 2010 Enterprise Exchange Server 2013 Standard Edition Exchange Server 2013 Enterprise Edition

Síntomas

Tenga en cuenta el siguiente escenario:

  • Un usuario tiene un buzón hospedado en Microsoft Exchange Server 2010 o Microsoft Exchange Server 2013.
  • El usuario actualiza un dispositivo iOS de Apple a iOS 7.0.
  • El usuario intenta sincronizar su dispositivo basado en iOS 7.0 con su buzón de Exchange Server.

En este escenario, el usuario no puede sincronizar su dispositivo basado en iOS 7.0 con el buzón que se hospeda en Exchange Server. Además, se registra el evento siguiente en el registro de aplicaciones en el equipo de Exchange Server 2010 o en Exchange Server equipo de 2013 que tiene el rol de acceso de cliente:

Nota

ID: 4999
Nivel: Error
Fuente: MSExchange Common
Mensaje: Informe watson que se va a enviar para el id. del proceso: id. <del proceso, con parámetros: E12, <tipo> de compilación, <versión> de la aplicación, AirSync, M.Exchange.Compliance, M.E.S.C.MessageDigestForNonCryptographicPurposes.HashCore, System.ArgumentOutOfRangeException, <callstackHash>, <versión> del> ensamblado.

Además, se registra un mensaje de error similar al siguiente en el registro de Exchange ActiveSync.

Nota Este error de estado 110 para el comando Aprovisionar puede aparecer muchas veces si el dispositivo basado en iOS 7.0 envía repetidamente el comando Aprovisionar después de devolver una excepción de servidor. Durante las pruebas, algunos dispositivos iOS enviaron el comando Aprovisionar más de 2000 veces, incluso después de un error continuo.

Nota

AssemblyVersion :
14.02.0328.009

Identificador:
4D7D0057

RequestHeader :
POST /Microsoft-Server-ActiveSync/default.eas? User=johndoe&DeviceId=ApplDMPGH8DWDFJ3&DeviceType=iPad&Cmd=Aprovisionar HTTP/1.1
Conexión: mantenerse activo
Longitud del contenido: 136
Tipo de contenido: application/vnd.ms-sync.wbxml
Aceptar: */*
Accept-Encoding: gzip, deflate
Accept-Language: en-us
Autorización: ********
Cookie: Cookie=R3437444435
Host: contosocas.com
User-Agent: Apple-iPad2C2/1101.465
MS-ASProtocolVersion: 14.1

RequestBody :
<?xml version="1.0" encoding="utf-8" ?>
<Provision xmlns="Provision:">
                 <DeviceInformation xmlns="Settings:">
                                 <Conjunto>
                                                 <Modelo>iPad2C2</Modelo>
                                                 <UserAgent>iOS/7.0 (11A465) dataaccessd/1.0</UserAgent>
                                                 < >SO iOS 7.0 11A465</OS>
                                                 <OSLanguage>en</OSLanguage>
                                                 <FriendlyName>Black iPad 2</FriendlyName>
                                 </Set>

                 </DeviceInformation>
                 <Directivas>
                                 <Directiva>
                                                 <PolicyType>MS-EAS-Provisioning-WBXML</PolicyType>
                                 </Policy>
                 </Policies>
</Provisión>

Command_WorkerThread_Exception:
--- --- de inicio de excepciones
Tipo de excepción: System.ArgumentOutOfRangeException
Mensaje de excepción: Número no negativo obligatorio.
Nombre del parámetro: contar
Nivel de excepción: 0
Seguimiento de pila de excepciones: en System.Buffer.BlockCopy(Array src, Int32 srcOffset, Array dst, Int32 dstOffset, Int32 count)
   at Microsoft.Exchange.Security.Compliance.MessageDigestForNonCryptographicPurposes.HashCore(Byte[] array, Int32 ibStart, Int32 cbSize)
   at System.Security.Cryptography.HashAlgorithm.ComputeHash(Byte[] buffer)
   at Microsoft.Exchange.Configuration.SQM.SmsSqmDataPointHelper.Generate64BitUserID(String legacyDN)
   at Microsoft.Exchange.Configuration.SQM.SmsSqmDataPointHelper.AddDeviceInfoReceivedDataPoint(SmsSqmSession instance, ADObjectId id, String legacyDN, String deviceType, String versionString)

   at Microsoft.Exchange.AirSync.DeviceInformationSetting.ProcessSet(XmlNode setNode)
   at Microsoft.Exchange.AirSync.DeviceInformationSetting.Execute()
   at Microsoft.Exchange.AirSync.ProvisionCommand.ProcessDeviceInformationSettings(XmlNode response)
   at Microsoft.Exchange.AirSync.ProvisionCommand.ExecuteCommand()
   at Microsoft.Exchange.AirSync.Command.WorkerThread()
--- --- final de excepción

AccessState :
Permitido
AccessStateReason :
Global

ResponseHeader :
HTTP/1.1 200 Correcto

ResponseBody :
<?xml version="1.0" encoding="utf-8" ?>
<Provision xmlns="Provision:">
                 <Estado>110</Estado>
</Provisión>

Causa

Este problema se produce porque varios subprocesos de ActiveSync y W3wp.exe intentan acceder a un objeto protegido al mismo tiempo. Esto coloca el objeto en un estado incorrecto.

Resolución

Exchange Server 2013

Para resolver este problema en Exchange Server 2013, instale la actualización que se describe en el siguiente artículo de Microsoft Knowledge Base:

2859928 Descripción de la actualización acumulativa 2 para Exchange Server 2013

Exchange Server 2010

Para resolver este problema en Exchange Server 2010, instale el paquete acumulativo de actualizaciones que se describe en el siguiente artículo de Microsoft Knowledge Base:

2866475 Descripción del paquete acumulativo de actualizaciones 2 para Exchange Server 2010 SP3

Estado

Apple está investigando el problema en el que un dispositivo iOS 7.0 envía muchos comandos de aprovisionamiento después de devolver un error. Actualizaremos este artículo cuando haya información adicional disponible.

Más información

El tutorial guiado Solucionar problemas de ActiveSync con Exchange Server ayuda a solucionar los siguientes problemas:

  • No se puede crear un perfil en el dispositivo
  • No se puede conectar al servidor
  • Problemas de correo
  • Problemas con el calendario
  • Retrasos en el rendimiento del dispositivo/CAS