ActiveSync Sync消息不支持所有属性

时间:2012-06-04 08:18:42

标签: activesync

我正在实现一个ActiveSync Java客户端。我已经可以与服务器通信并执行协议序列以同步电子邮件,如documentation中所定义。

但是,当我尝试发送Sync命令时,我似乎只能使用规范中可用命令的子集。当我在Sync XML消息中使用某些属性标记时,我收到状态4('协议错误')代码,即使这些代码应该根据规范有效。

当我只使用GetChanges属性时,我会得到一个正确的响应,但是我希望能够指定要返回的项目数等。

我已经包含了我正在发送的XML代码段:注释掉的行是尝试过的行,但却导致了状态4。

<?xml version="1.0" ?>
<Sync xmlns="AirSync:">
    <Collections>
        <Collection>
            <Class>Email</Class>
            <SyncKey>{23423972324}</SyncKey>
            <CollectionId>{23423sdfsdfsdfsf972324}</CollectionId>
            <GetChanges/>
            <!--<GetChanges>0</GetChanges>-->
            <!--<WindowSize>512</WindowSize>-->
            <!--<Options>-->
                <!--<Class>Email</Class>-->
                <!--<FilterType>3</FilterType>-->
                <!--<MaxItems>10</MaxItems>-->
            <!--</Options>-->
            <!--<Commands>-->
            <!--    <Fetch>-->
            <!--        <ServerId>1:323</ServerId>-->
            <!--    </Fetch>-->
            <!--</Commands>-->
        </Collection>
    </Collections>
    <!--<WindowSize>512</WindowSize>-->
</Sync>

是否有任何理由不支持这些属性?或者是否有一些我遗漏的消息?

服务器的GetOptions命令返回以下内容(截断):

Server: Microsoft-IIS/6.0,
    X-Powered-By: ASP.NET,
    Pragma: no-cache,
    Public: OPTIONS, POST, Allow: OPTIONS, POST,
    MS-Server-ActiveSync: 6.5.7653.19,
    MS-ASProtocolVersions: 1.0,2.0,2.1,2.5,
    MS-ASProtocolCommands:Sync,SendMail,SmartForward,SmartReply,GetAttachment,GetHierarchy,CreateCollection,DeleteCollection,MoveCollection,FolderSync,FolderCreate,FolderDelete,FolderUpdate,MoveItems,GetItemEstimate,MeetingResponse,ResolveRecipients,ValidateCert,Provision,Search,Notify,Ping

1 个答案:

答案 0 :(得分:0)

事实证明我使用的WBXML编码/解码器无法正常工作。我通过比较两个不同WBXML编码器生成的字节代码来解决这个问题并看到了不同之处。我正在使用的编码器没有正确处理空元素。我修复了它,现在服务器按预期运行。