Al trabajar con suscripciones de extracción a carpetas de calendario de Office365, recibí muchos ErrorReadEventsFailed
mensajes en la SendNotification
solicitud. Este error esencialmente significa que la suscripción ya no se puede encontrar y el servidor ya no debería esperar nuevas notificaciones.
Al verificar el manejo de errores recomendado por Microsoft , la solución es usar Detección automática para redescubrir ExternalEwsUrl o EwsPartnerUrl y crear una nueva suscripción.
Con Office365, el servicio AutoDiscovery parece casi imposible con una combinación de cuentas de servicio OAuth2, por lo que lo he estado usando https://outlook.office365.com/EWS/Exchange.asmx
como el punto final principal de EWS.
Sin embargo, cuando intento crear una nueva suscripción para la carpeta de calendario específica, sigo recibiendo un 500 ErrorNoRespondingCASInDestinationSite
error genérico :
Los servicios web de Exchange no están disponibles actualmente para esta solicitud porque ninguno de los servidores de acceso de cliente en el sitio de destino pudo procesar la solicitud.
Lo extraño es que esto solo sucede directamente después de recibir el ErrorReadEventsFailed
error inicial . Si lo intento de nuevo en, digamos, 30 segundos, la solicitud se procesa sin problemas.
Después de investigar un poco, pareció que a la mayoría de los usuarios les resultó útil asegurarse de que el X-AnchorMailbox
encabezado estaba configurado correctamente para el usuario que la cuenta de servicio desea suplantar. Verifiqué dos veces este encabezado y, de hecho, se está enviando junto con la solicitud para volver a suscribirse.
Este problema puede resolverse mediante una solución de retroceso exponencial, o simplemente volviendo a intentar X cantidad de veces hasta que se complete la solicitud. Me parece que cuando la suscripción se "pierde", el servicio O365 necesita tiempo para cambiar el DNS del servidor Exchange (es lo único que se me ocurre).
¡Cualquier ayuda será muy apreciada!