我们遇到了一个问题:我们的ActiveSync邮件客户端向Exchange请求,并定期接收HTTP500个响应。
我查看了服务器日志,并确定发生了以下情况:
1)客户端使用文件夹同步键1发出同步请求。
2) Exchange使用HTTP 200和有效的同步数据+文件夹同步键2将数据返回给前端服务器
3)前端服务器向客户端设备返回HTTP 500,客户端设备使用同步键1发出另一个同步请求(因为尚未收到请求1的有效数据)
4)服务器响应HTTP 200 +无数据+没有新同步键新邮件到达服务器
5)客户端使用同步键1发出同步请求。
6)服务器将新邮件返回给客户端+同步键3
我不明白如何恢复上述步骤(2)中返回的响应的有效负载。除非客户端将文件夹的同步键重置为0并重新同步整个文件夹,否则它将永远丢失。我想避免这种情况,因为我们每天都会多次犯这500个错误。
是否可以通过使用原始文件夹同步键更改后续同步请求的参数来恢复丢失的邮件?
发布于 2013-12-06 14:36:41
这是其他击中它的人所发生的事情。
Ping / Sync循环的工作方式是,如果在HTTP 500错误后发出Ping,服务器将假定您已移动到下一个同步键(即丢失的HTTP 500响应中返回的同步键)。如果没有发出新的Ping请求,而是发出了新的同步请求,那么丢失的电子邮件将被返回,因为服务器将假设客户端尚未移动到新的同步键。
https://stackoverflow.com/questions/20420862
复制相似问题