为什么有些ActiveSync命令在Android电子邮件应用程序中有效,而在独立Java客户端中却没有?

时间:2012-06-06 13:31:07

标签: android activesync

我正在开发Java Exchange ActiveSync客户端,我想同步收件箱文件夹以检索电子邮件标头。我按照MS ActiveSync文档,能够验证,folderSync和服务器同步。但是,只有Sync命令中的某些属性才有效。

为了测试 ActiveSync消息的外观,我使用Android Emulator和CharlesProxy HTTP代理来捕获从Android电子邮件应用程序发送的ActiveSync消息。我能够成功捕获并解码WBXML消息。我看到我尝试使用的ActiveSync XML消息未能通过“内置”电子邮件应用程序正常工作。 E.g。

此XML Sync命令在从电子邮件应用程序发送时有效,但不能从我的Java客户端发送:

<?xml version="1.0" encoding="utf-8" ?>
<Sync xmlns="AirSync">
    <Collections>
        <Collection>
            <Class>Email</Class>
            <SyncKey>sync key here</SyncKey>
            <CollectionId>collectionID HERE</CollectionId>
            <DeletesAsMoves/>
            <GetChanges/>
            <WindowSize>5</WindowSize>
            <Options>
                <FilterType>2</FilterType>
                <MIMESupport>2</MIMESupport>
                <MIMETruncation>7</MIMETruncation>
            </Options>
        </Collection>
    </Collections>
</Sync>

有谁知道为什么?某些应用程序是否具有特殊权限,这意味着它们可以使用完整的ActiveSync协议? 我想强调一下,我可以运行一个成功的Sync命令,如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<Sync xmlns="AirSync">
    <Collections>
        <Collection>
            <Class>Email</Class>
            <SyncKey>sync key here</SyncKey>
            <CollectionId>collection Id here</CollectionId>
            <GetChanges/>
        </Collection>
    </Collections>
</Sync>

我无法像Android电子邮件应用那样添加额外的属性。

感谢任何帮助!

0 个答案:

没有答案