Office365 takvim klasörlerine abonelikleri çekme ile çalışırken ErrorReadEventsFailed
, SendNotification
istekte çok fazla mesaj alıyorum . Bu hata, esasen aboneliğin artık bulunamayacağı ve sunucunun artık yeni bildirimler beklememesi gerektiği anlamına gelir.
Microsoft'un önerdiği hata işlemeyi kontrol eden çözüm, ExternalEwsUrl veya EwsPartnerUrl'yi yeniden keşfetmek için Autodiscover'ı kullanmak ve yeni bir abonelik oluşturmaktır.
Office365 ile AutoDiscovery hizmeti, OAuth2 hizmet hesaplarının bir kombinasyonu ile neredeyse imkansız görünüyor, bu yüzden https://outlook.office365.com/EWS/Exchange.asmx
ana EWS uç noktası olarak kullanıyorum .
Ancak, belirli takvim klasörü için yeni bir abonelik oluşturmaya çalıştığımda, genel bir 500 ErrorNoRespondingCASInDestinationSite
hata almaya devam ediyorum :
Hedef sitedeki İstemci Erişim Sunucularının hiçbiri isteği işleyemediğinden, Exchange Web Hizmetleri şu anda bu istek için kullanılamıyor.
İşin tuhaf yanı, bunun yalnızca ilk ErrorReadEventsFailed
hatayı aldıktan sonra doğrudan gerçekleşmesidir . Örneğin 30 saniye içinde tekrar denersem, istek sorunsuz gerçekleşir.
Biraz araştırma yaptıktan sonra, çoğu kullanıcının, X-AnchorMailbox
başlığın hizmet hesabının taklit etmek istediği kullanıcı için doğru şekilde ayarlanmasını sağlamayı faydalı bulduğu görüldü. Bu başlığı iki kez kontrol ettim ve gerçekten de yeniden abone olma isteği ile birlikte gönderiliyor.
Bu sorun, üstel bir geri çekilme çözümü ile veya istek yerine getirilene kadar yalnızca X kez yeniden denenerek çözülebilir. Bana öyle geliyor ki, abonelik "kaybolduğunda", O365 hizmetinin Exchange sunucusunun DNS'sini değiştirmek için zamana ihtiyacı var (aklıma gelen tek şey bu).
Herhangi bir yardım çok takdir edilecektir!