3

我正在开发一个 Java Exchange ActiveSync 客户端,我想同步收件箱文件夹以检索电子邮件标题。我按照 MS ActiveSync 文档进行了身份验证、文件夹同步并与服务器同步。但是,只有 Sync 命令中的某些属性有效。

为了测试好的ActiveSync 消息是什么样子,我使用了 Android Emulator 和 CharlesProxy HTTP 代理来捕获从 Android 电子邮件应用程序发送的 ActiveSync 消息。我能够成功捕获和解码 WBXML 消息。我看到我曾尝试使用但未成功的 ActiveSync XML 消息在“内置”电子邮件应用程序中运行良好。例如

此 XML 同步命令在从电子邮件应用程序发送时有效,但从我的 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 协议?我想强调一下,我可以像这样运行成功的同步命令:

<?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 电子邮件应用那样添加额外的属性。

任何帮助表示赞赏!

4

0 回答 0