我正在尝试构建一个简单的Exchange ActiveSync客户端。
我正在使用一个简单的Python脚本,它在连接到Exchange2010 SP1时发送初始同步电子邮件命令。
在请求正文中,我发送了以下编码为WBXML的XML (使用pywbxml):
<?xml version="1.0"?>
<!DOCTYPE AirSync PUBLIC "-//AIRSYNC//DTD AirSync//EN" "http://www.microsoft.com/">
<Sync>
<Collections>
<Collection>
<Class>Email</Class>
<SyncKey>0</SyncKey>
<CollectionId>5</CollectionId>
</Collection>
</Collections>
</Sync>服务器以200 OK应答,但返回Status code: 4
<?xml version="1.0"?>
<!DOCTYPE AirSync PUBLIC "-//AIRSYNC//DTD AirSync//EN" "http://www.microsoft.com/">
<Sync>
<Status>4</Status>
</Sync>我在官方文档中找不到任何有关此状态代码的文档。我怎么才能解决这个问题呢?
发布于 2011-08-15 23:43:00
Sync状态代码值4表示客户端协议错误。它在this MSDN page上有文档记录。
假设Inbox的ID为5(从WBXML转换为可读的Sync ),正确的XML命令看起来更像下面这样:
<?xml version='1.0' ?>
<Sync>
<Collections>
<Collection>
<SyncKey>0</SyncKey>
<CollectionId>5</CollectionId>
<Options>
<FilterType>5</FilterType>
<BodyPreference>
<Type>1</Type>
<TruncationSize>32768</TruncationSize>
</BodyPreference>
</Options>
</Collection>
</Collections>
</Sync>但是,EAS协议要求您首先Provision和FolderSync。你不能直接跳到Sync。here描述了基本协议序列。
https://stackoverflow.com/questions/7020815
复制相似问题