ActiveSync Sync请求中丢失的数据返回HTTP 500

时间:2013-12-06 09:52:56

标签: exchange-server activesync

我们遇到的问题是我们的ActiveSync邮件客户端向Exchange发出Sync请求,并定期收到HTTP 500响应。

我查看了服务器日志,并确定发生了这种情况:

1)客户端使用文件夹同步密钥1进行同步请求

2)Exchange使用HTTP 200和有效同步数据+文件夹同步密钥2

将数据返回给前端服务器

3)前端服务器将HTTP 500返回给客户端设备 客户端设备使用同步密钥1发出另一个同步请求(因为它尚未收到上述请求1的有效数据)

4)服务器响应HTTP 200 +无数据+没有新的同步密钥 新邮件到达服务器

5)客户端使用同步密钥1发送同步请求

6)服务器将新邮件返回给客户端+同步密钥3

我不明白如何恢复上面步骤(2)中返回的响应的有效负载。除非客户端将文件夹的同步密钥重置为0并重新同步整个文件夹,否则它将永远丢失。我想避免这种情况,因为我们每天多次出现这500次错误。

有没有办法通过使用原始文件夹同步密钥更改后续同步请求的参数来恢复丢失的邮件?

1 个答案:

答案 0 :(得分:2)

以下是其他任何打击它的人所发生的事情。

Ping / Sync循环的工作方式是,如果在此HTTP 500错误之后发出Ping,服务器将假定您已移至下一个同步密钥(即在缺少的HTTP 500中返回的同步密钥)响应)。如果不是发出新的Ping请求,而是发出新的Sync请求,则将返回丢失的电子邮件,因为服务器将假定客户端尚未移动到新的同步密钥。