1. POST Request
数据格式
Request-line
Request-headers
CR/LF
Request BodyRequest-line
POST <URI> HTTP/1.1
/Microsoft-Server-ActiveSync?<text query value>
/Microsoft-Server-ActiveSync?<base64-encoded query value>base64加密的URI组织方式
项 长度 值 协议版本 1字节 141,可能140、120 命令编号 1字节 Locale 2字节 应当所使用的语言 设备编号的长度 1字节 设备编号 若干 String或者GUID 策略key的长度 1字节 0or4,0表示缺省 策略key 4字节 可选项 设备类型的长度 1字节 描述设备类型字段的长度 设备类型 若干 string 命令参数 若干 加密参数结构序列 加密参数
项 长度 值 Tag 1字节 参考targs表 Length 1字节 参数的长度 Value 若干 参数内容 Request Headers
Header 必须的 描述 Authorization 必须 描述用户证书,使用HTTP基本认证 Content-Type 据命令而定 WBXML:application/vnd.ms-sync.wbxml或者application/vnd.ms-sync
Autodiscover:text/xml或者text/htmlMS-ASAcceptMultiPart 非必须 允许拆分 MS-ASProtocolVersion 使用纯文本查询时必须,Base64时不需要 表示客户端支持的ActiveSync协议版本 User-Agent 非必须 客户端的描述信息 X-MS-PolicyKey 使用纯文本查询时必须,Base64时不需要 客户端当前使用的策略key
2. POST Response
数据格式
Status-line
Response-headers
CR/LF
Message Body状态码
状态码 描述 200 OK 命令成功 400 Bad Request 语法错误,服务器无法解析。如果客户端没有修改的情况下,继续请求,将发生同样的错误。 401 Unauthorized 要求认证或者认证过期 403 Forbidden 用户不能进行ActiveSync同步 404 Not Found URI找不到或者服务器上的ActiveSync不支持。 451 Redirect 设备连接的服务器无法访问用户邮箱,或者有一个可以直接访问用户邮箱的服务器,要求重定向 500 Internal Server Error 服务器发生错误,正在阻止请求 502 Proxy Error 找不到服务器 503 Service Unavailable 服务不可用。 507 Insufficient Disk Space 用户邮箱已满 ResponseHeaders
Header 例子值 描述 Cache-Control private 控制应答的缓存策略 Content-Encoding gzip 当内容压缩时,必须的;否则不带着个头 Content-Length 56 必须。描述响应提的大小(字节) Content-Type application/vnd.ms-sync.wbxml 内容类型 MS-Server-ActiveSync 8.1 可选。描述处理请求的ActiveSync协议版本 X-MS-Location 可选。同451响应一起使用。描述新的URL X-MS-RP 12.1,14.0, 14.1 可选。由于服务器已经升级,指示客户端进行完全同步