同步时未记录的 Exchange ActiveSync 状态

发布于 2024-11-29 00:39:17 字数 859 浏览 0 评论 0原文

我正在尝试构建一个简单的 Exchange ActiveSync 客户端。

我使用一个简单的 Python 脚本,在连接到 Exchange 2010 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 应答,但返回 状态代码:4

<?xml version="1.0"?>
<!DOCTYPE AirSync PUBLIC "-//AIRSYNC//DTD AirSync//EN" "http://www.microsoft.com/">
<Sync>
  <Status>4</Status>
</Sync>

我不能'在官方文档中找不到有关此状态代码的任何文档。我怎样才能弄清楚这一点?

I'm trying to build a simple Exchange ActiveSync client.

I'm using a simple Python script that sends an initial sync email command, while connecting to an Exchange 2010 SP1 .

In the request body I'm send the following XML encoded as WBXML (using 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>

The server answers with a 200 OK but returns a Status code: 4

<?xml version="1.0"?>
<!DOCTYPE AirSync PUBLIC "-//AIRSYNC//DTD AirSync//EN" "http://www.microsoft.com/">
<Sync>
  <Status>4</Status>
</Sync>

I couldn't find any documentation on this status code in the official docs. How can I figure this out?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

如若梦似彩虹 2024-12-06 00:39:17

Sync 状态代码值 4 表示客户端协议错误。它记录在此 MSDN 页面

正确的 Sync 命令看起来更像下面这样,假设 Inbox 的 ID 为 5(从 WBXML 转换为可读的 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 协议要求您 <但是,首先要使用 code>Provision 和 FolderSync。您不能直接跳到Sync此处描述了基本协议顺序。

The Sync status code value 4 represents a client protocol error. It is documented on this MSDN page.

A correct Sync command would look more like the following, assuming that Inbox has an ID of 5 (converted from WBXML to a readable 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>

The EAS protocol requires that you Provision and FolderSync first, however. You can't just jump straight to a Sync. The basic protocol sequence is described here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文