2011-08-11 2 views
1

간단한 Exchange ActiveSync 클라이언트를 구축하려고합니다.동기화 중 문서화되지 않은 Exchange ActiveSync 상태

Exchange 2010 SP1에 연결하는 동안 초기 동기화 전자 메일 명령을 보내는 간단한 Python 스크립트를 사용하고 있습니다. 요청 본문에서

나는 WBXML (사용 pywbxml)로 인코딩 다음 XML 보내 해요하십시오 200 OK

<?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> 

서버 대답을하지만 난 '나오지 않았어 Status code: 4

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

반환 공식 코드에서이 상태 코드에 대한 문서를 찾으십시오. 어떻게 알아낼 수 있을까요?

답변

0

Sync 상태 코드 값 4은 클라이언트 프로토콜 오류를 나타냅니다. 그것은 this MSDN page에 문서화되어 있습니다. 원래 올바른 Sync 명령은 Inbox이 (읽을 수있는 XML로 WBXML 변환) (5)의 ID가 가정, 더 다음과 같을 것이다

:

<?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 프로토콜이 필요를 당신 ProvisionFolderSync 처음 그러나. Sync으로 바로 넘어갈 수는 없습니다. 기본 프로토콜 순서는 here입니다.

관련 문제