Bei der Arbeit mit Pull-Abonnements für Office365-Kalenderordner wurden ErrorReadEventsFailed
in der SendNotification
Anforderung viele Nachrichten angezeigt. Dieser Fehler bedeutet im Wesentlichen, dass das Abonnement nicht mehr gefunden werden kann und der Server keine neuen Benachrichtigungen mehr erwarten sollte.
Wenn Sie die von Microsoft empfohlene Fehlerbehandlung überprüfen, besteht die Lösung darin, mithilfe der automatischen Erkennung die externe EwsUrl oder EwsPartnerUrl erneut zu ermitteln und ein neues Abonnement zu erstellen.
Mit Office365 scheint der AutoDiscovery-Dienst mit einer Kombination von OAuth2-Dienstkonten nahezu unmöglich zu sein, sodass ich ihn https://outlook.office365.com/EWS/Exchange.asmx
als Haupt-EWS-Endpunkt verwendet habe.
Wenn ich jedoch versuche, ein neues Abonnement für den jeweiligen Kalenderordner zu erstellen, wird immer wieder ein allgemeiner 500 ErrorNoRespondingCASInDestinationSite
Fehler angezeigt:
Exchange-Webdienste sind derzeit für diese Anforderung nicht verfügbar, da keiner der Clientzugriffsserver am Zielstandort die Anforderung verarbeiten konnte.
Der seltsame Teil ist, dass dies erst direkt nach Erhalt des anfänglichen ErrorReadEventsFailed
Fehlers geschieht . Wenn ich es beispielsweise in 30 Sekunden erneut versuche, wird die Anforderung problemlos ausgeführt.
Nach einigen Recherchen schien es den meisten Benutzern hilfreich zu sein, sicherzustellen, dass der X-AnchorMailbox
Header für den Benutzer, für den sich das Dienstkonto ausgeben möchte, richtig eingestellt war. Ich habe diesen Header noch einmal überprüft, und er wird tatsächlich zusammen mit der Aufforderung zum erneuten Abonnieren gesendet.
Dieses Problem kann durch eine exponentielle Back-Off-Lösung oder durch einfaches erneutes Versuchen von X gelöst werden, bis die Anforderung ausgeführt wird. Es scheint mir, dass der O365-Dienst Zeit benötigt, um das DNS des Exchange-Servers zu ändern, wenn das Abonnement "verloren" geht (das ist das einzige, woran ich denken kann).
Jede Hilfe wäre sehr dankbar!