2011-10-12 74 views
0

我想構建一個ActiveSync客戶端應用程序。 我有一個測試Hotmail帳戶,其中有過去6個月的郵件,其中大部分未讀。 Hotmail使用ActiveSync v2.5。 我嘗試了Sync命令,但是我只能得到新的郵件,舊的(> 3個月)郵件沒有出現!使用ActiveSync同步舊郵件

我錯過了什麼,或者這是如何工作?

[編輯:包括請求和響應XML使其更更清楚]

初始請求:

<?xml version="1.0" ?> 
<Sync xmlns="AirSync:"> 
    <Collections> 
     <Collection> 
      <Class>Email</Class> 
      <SyncKey>0</SyncKey> 
      <CollectionId>00000000-0000-0000-0000-000000000001</CollectionId> 
      <WindowSize>512</WindowSize> 
     </Collection> 
    </Collections> 
</Sync> 

響應:

<?xml version="1.0" encoding="UTF-8" ?> 
<Sync xmlns="AirSync"> 
    <Collections> 
     <Collection> 
      <Class>Email</Class> 
      <SyncKey>000000000{813672f0-cc63-4308-9a33-4e8c1d0f351e}0</SyncKey> 
      <CollectionId>00000000-0000-0000-0000-000000000001</CollectionId> 
      <Status>1</Status> 
     </Collection> 
    </Collections> 
</Sync> 

請求:

<?xml version="1.0" ?> 
<Sync xmlns="AirSync:"> 
    <Collections> 
     <Collection> 
      <Class>Email</Class> 
      <SyncKey>000000000{813672f0-cc63-4308-9a33-4e8c1d0f351e}0</SyncKey> 
      <CollectionId>00000000-0000-0000-0000-000000000001</CollectionId> 
      <GetChanges /> 
      <WindowSize>512</WindowSize> 
     </Collection> 
    </Collections> 
</Sync> 

響應SE:

<?xml version="1.0" encoding="UTF-8" ?> 
<Sync xmlns="AirSync"> 
    <Collections> 
     <Collection> 
      <Class>Email</Class> 
      <SyncKey>000000000{13704907-A726-4149-8186-E3EEE98D9918}1</SyncKey> 
      <CollectionId>00000000-0000-0000-0000-000000000001</CollectionId> 
      <Status>1</Status> 
      <Commands> 
       <Add>[Contains email details]</Add> 
      </Commands> 
     </Collection> 
    </Collections> 
</Sync> 

而且,相同的代碼Gmail帳戶的偉大工程(使用ActiveSync V12.0)

回答

1

顯然,Hotmail的服務器不同的設備有不同的反應。 我將發送到服務器的User-Agent值修改爲Apple-iPhone/705.18,並開始工作!

+0

哇。我永遠不會期望成爲這種情況,但很高興知道! –

0

確保你不及格這將限制對象返回範圍內的FilterType元素。

其次,請注意Sync response中的MoreAvailable元素,這表示您尚未收到來自服務器的所有對象。

[編輯基於評論]

+0

我沒有使用FilterType元素。從鏈接中,「如果省略了FilterType元素,**所有對象都從服務器發送而不考慮其年齡**。」 – Paras

+0

你說得對,看起來是可選的。在這種情況下,您是否在響應中接收到MoreAvailable元素,以指示更多對象(超出最初返回的對象)可用? –

+0

我已將請求響應Xml添加到我的問題中。未收到MoreAvailable元素。 – Paras

相關問題