EWS Managed API 'SyncFolderItems'を使用してカレンダーフォルダの変更アイテムを取得する同期ツールがあります。これは18ヶ月間うまく動いていますが、今週は2人の顧客が同じ問題を経験しました。 (偶然かもしれない)。どちらもOffice 365のお客様です。EWS SyncFolderItemsが「内部サーバーエラーが発生しました。操作が失敗しました」という例外を表示しています。
同期が開始されず、より詳細な分析では、SyncFolderItems呼び出しが「内部サーバーエラーが発生しました。操作が失敗しました」というエラーで失敗していました。エラーの詳細は表示されません。
同期をリセットします(つまり、同期状態をnullに戻して、フォルダ内のすべてを再び同期させます)。一度に250項目を取得するいくつかのページネーション反復ではうまく機能しましたが、ある時点で失敗しました。
多分データが多いアイテムがあると思いました。私はページのサイズを25に減らし、ちょっとしたことでうまくいってから失敗しました。私はそれを1のページサイズに減らし、失敗します。フォルダには1250個のアイテムがあるので、まだ失敗しているアイテムはありません。それは矛盾しているようで、最近高く設定されているスロットルがあるのだろうか?
私の次のステップは、問題のアイテムが1つあり、それを削除するかどうかを確認することですが、そのアイテムがある可能性があります。
誰かが間違っている可能性のあることについての提案はありますか?
icc = service.SyncFolderItems(Connection.SourceID, ps, null, 1,
SyncFolderItemsScope.NormalItems, syncstate);
おそらく、より詳細に質問に答えるために、いくつかの作業コードを追加します。 –
私はコードで私の答えを改善しました。 –
はい - 私はこれを再現できます。 SyncFolderItemsをパブリックカレンダーフォルダで使用する。フォルダに新しい項目を追加すると、同期は正常に機能します。フォルダから予定を削除して同期しようとすると、「内部サーバーエラーが発生しました。操作は失敗しました。 HResult:-2146233088; InnerException:Null。 – Davidt