Java 不同Exchange版本(配置?)的syncFolderHierarchy结果不同

Java 不同Exchange版本(配置?)的syncFolderHierarchy结果不同,java,exchange-server,exchangewebservices,Java,Exchange Server,Exchangewebservices,前言:来自微软论坛的交叉帖子: 我一直在测试EWS的syncFolderHierarchy方法来同步exchange的更改。我的开发测试都是使用一个Exchange 2013版本完成的。我注意到这种行为: 调用文件夹X的syncFolderHierarchy会在X下的文件夹结构发生更改时更改同步状态 调用文件夹X的syncFolderHierarchy会在从X下的子文件夹*添加/删除邮件时更改同步状态 但是,在对Exchange 2010进行了更多测试之后,我发现了一个令人不安的问题,即文件夹结

前言:来自微软论坛的交叉帖子:

我一直在测试EWS的
syncFolderHierarchy
方法来同步exchange的更改。我的开发测试都是使用一个Exchange 2013版本完成的。我注意到这种行为:

调用文件夹X的syncFolderHierarchy会在X下的文件夹结构发生更改时更改同步状态

调用文件夹X的syncFolderHierarchy会在从X下的子文件夹*添加/删除邮件时更改同步状态

但是,在对Exchange 2010进行了更多测试之后,我发现了一个令人不安的问题,即文件夹结构更改了同步状态,但没有更改文件夹本身

因此,对于2010年(我已经设置了):调用文件夹X的syncFolderHierarchy不会更改在X下的子文件夹*中添加/删除消息时的同步状态

这是一个大问题,因为在使用2013进行测试时,我的印象是,如果消息被移动,syncFolderHierarchy将更改同步状态。如果发生这种情况,我会在每个文件夹上调用syncFolderItems,以查找更改的来源。如果仅仅通过调用syncFolderHierarchy无法知道是否有任何项目更改,那么每次我都必须检查每个文件夹,以检查是否有任何更改。这听起来很可怕,会影响我的申请

所以最后我的问题!耶

2010年是否存在与2013年不同的配置/设置问题?是否存在需要更改的默认行为

最后,如果我完全没有办法让2010版像2013版一样运行良好,那么在不浏览所有文件夹的情况下,什么是最佳的同步方法

*我所说的子文件夹,不是指直接从X添加/删除,而是从X的子文件夹,比如说X/Y/Z。将消息从Z移动到Y


编辑:了解syncFolderHierarchy的实际正确行为会很有帮助。我描述的“2010”或“2013”场景中的行为是否正确?

我无法说明您在Exchange 2010和Exchange 2013中获得的不同同步状态,但一种解决方法是使用通知触发同步调用。例如,如果您订阅NewMailEvents,通知将标识ParentFolderId,然后您可以只同步该文件夹中的项目。在这两个主题中有更多关于基于通知的同步的内容:和

嗨,咪咪。我不会在不了解更多问题的情况下改变我的整个体系结构。您能否至少澄清syncFolderHierarchy的“正确”行为是什么?如果在多个子文件夹中添加/移动/删除邮件,顶层文件夹的同步状态是否应更改?我根本看不到关于这一点的任何文档,我非常沮丧。你的团队中有没有我可以联系的人可以了解更多这方面的信息?对不起,我想说的是,我不知道你正在经历的2010年和2013年之间的差异。我是在回答你的问题,是否有一个最好的方法来同步,而不需要检查所有的文件夹。我不再是那个团队的成员了,所以我不能提供任何其他联系人。对不起,希望我能多帮点忙。