1

単純な Exchange ActiveSync クライアントを構築しようとしています。

Exchange 2010 SP1 への接続中に、最初の同期メール コマンドを送信する単純な Python スクリプトを使用しています。

リクエスト本文で、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>

サーバーは a で応答しますが、a を200 OK返します。Status code: 4

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

公式ドキュメントでこのステータス コードに関するドキュメントを見つけることができませんでした。どうすればこれを理解できますか?

4

1 に答える 1

1

Syncステータス コードの値4は、クライアント プロトコル エラーを表します。この MSDN ページに記載されています。

ID が 5 であると仮定すると、正しいSyncコマンドは次のようになりますInbox(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>

Provisionただし、EAS プロトコルでは、最初にユーザーが必要ですFolderSync。に直接ジャンプすることはできませんSync。ここでは、基本的なプロトコル シーケンスについて説明します

于 2011-08-15T15:42:59.787 に答える