我们遇到了一个问题,即ActiveSync邮件客户端向Exchange发出同步请求,并定期接收HTTP 500响应。
我已经查看了服务器日志,并确定这就是发生的情况:
1) 客户端使用文件夹同步密钥1 发出同步请求
2) Exchange使用HTTP 200和有效同步数据+文件夹同步密钥2 将数据返回到前端服务器
3) 前端服务器向客户端设备返回HTTP 500客户端设备用同步密钥1发出另一个同步请求(因为它没有收到上面请求1的有效数据)
4) 服务器响应HTTP 200+无数据+无新同步密钥新邮件到达服务器
5) 客户端使用同步密钥1 发出同步请求
6) 服务器向客户端返回新邮件+同步密钥3
我不知道如何恢复在上面的步骤(2)中返回的响应的有效负载。除非客户端将文件夹的同步密钥重置为0并重新同步整个文件夹,否则它将永远丢失。我想避免这种情况,因为我们每天都会多次出现这500个错误。
是否有任何方法可以通过使用原始文件夹同步密钥更改后续同步请求的参数来恢复丢失的邮件?
以下是其他点击它的人的情况。
Ping/同步循环的工作方式是,如果您在此HTTP 500错误后发出Ping,服务器将认为您已移动到下一个同步密钥(即丢失的HTTP 500响应中返回的同步密钥)。如果不是发出新的Ping请求,而是发出新的同步请求,则会返回丢失的电子邮件,因为服务器会认为客户端尚未移动到新的同步密钥。