【问题标题】:EWS SyncFolderItems is giving me exception "An internal server error occurred. The operation failed."EWS SyncFolderItems 给我异常“发生内部服务器错误。操作失败。”
【发布时间】:2017-05-27 14:50:07
【问题描述】:

我有一个同步工具,它使用 EWS 托管 API“SyncFolderItems”来检索日历文件夹中更改的项目。它已经运行了 18 个月左右,但本周两个客户都遇到了同样的问题。 (可能是巧合)。两者都是 Office 365 客户。

同步开始未能完成,经过仔细分析,SyncFolderItems 调用失败并出现错误“发生内部服务器错误。操作失败。”错误中没有提供更多详细信息。

我重置了同步(即将同步状态设置回 null,以便它再次同步文件夹中的所有内容)。它在几次分页迭代中运行良好,一次获得 250 个项目,但它们在某些时候失败了。

我想也许有一个包含大量数据的项目。我将页面大小减小到 25 并且它工作了一段时间,然后失败了。我将它的页面大小减小为 1,但它失败了。文件夹中有 1250 个项目,所以我还没有弄清楚它在哪个项目上失败了。似乎不一致,我想知道最近是否有设置更高的油门?

我认为我的下一步是查看是否有一个违规项目并将其删除,但很难确定它可能是哪个项目。

有人对可能出现的问题有任何建议吗?

  icc = service.SyncFolderItems(Connection.SourceID, ps, null, 1,                                                              
                      SyncFolderItemsScope.NormalItems, syncstate);

【问题讨论】:

    标签: exchangewebservices


    【解决方案1】:

    我对 SyncFolderItems(..) 有同样的问题。

    问题似乎只存在于公用文件夹中?我使用公共日历文件夹进行了测试。如果我第一次在没有状态的情况下调用 SyncFolderItems,我不会收到任何错误。但是,如果我有一个状态并删除了公用文件夹中的一个项目,我会在下一次调用 SyncFolderItems() 时收到此错误。

            ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2016, TimeZoneInfo.Local);
            service.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx");
            service.Credentials = new WebCredentials("x.y@germany.de", "pwd");
    
            Folder f1 = Folder.Bind(service, new FolderId("SOMEFOLDERID OF A PUBLIC CALENDAR FOLDER"), BasePropertySet.FirstClassProperties);
            Console.WriteLine(f1.DisplayName);
            String status = "";
            do
            {
    
                ChangeCollection<ItemChange> changes = service.SyncFolderItems(f1.Id, BasePropertySet.IdOnly, null, 100, SyncFolderItemsScope.NormalItems, status);
    
                Console.Write(changes.Count+",");
    
                status = changes.SyncState;
    
            } while (true);
    

    服务器信息:{15.01.1101.019} V2017_04_14

    【讨论】:

    • 或许可以添加一些工作代码来帮助更详细地回答问题。
    • 是的 - 我可以重现这个。将 SyncFolderItems 与公共日历文件夹一起使用。将新项目添加到同步工作正常的文件夹中。如果我从文件夹中删除约会并尝试同步,则会收到错误消息“发生内部服务器错误。手术失败。 HResult: -2146233088 ;内部异常:空;
    • Office 365 支持团队的一个人告诉我,作为对我的支持案例的回答,我必须在此论坛中添加一个条目以获得 Microsoft 帮助,所以这里是链接:social.msdn.microsoft.com/Forums/office/en-US/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-02
    • 1970-01-01
    • 1970-01-01
    • 2014-03-02
    • 2020-06-27
    相关资源
    最近更新 更多