SyncML一點東西(代碼)

來源:互聯網
上載者:User

總共發了三個段子嘛,第一個是用戶端發起初始請求到伺服器端表示要開始一個SyncML會話,第二個段子是伺服器對第一個段子的應答,表示會話可以繼續進行。第三個段子表示用戶端向伺服器端發出資料替換請求

這個是我的引擎在調試時輸出的一個同步請求
<?xml version="1.0" encoding="UTF-8"?>
<SyncML>
 <SyncHdr>
  <VerDTD>1.1< erDTD>
  <VerProto>SyncML/1.1< erProto>
  <SessionID>1< ssionID>
  <MsgID>1</MsgID>
  <Target><LocURI>http://172.16.204.229:8080/sync4j/sync/db/contact</LocURI></Target>
  <Source><LocURI>sc-pim-demo</LocURI></Source>
  <Cred>
   <Meta>
    <Format xmlns='syncml:metinf'>b64</Format>
    <Type xmlns='syncml:metinf'>syncml:auth-basic< pe>
   </Meta>
   <Data>Y2hlbmNoZW46MTk4MTA5MTk=</Data>
  </Cred>
 </SyncHdr>
 <SyncBody>
  <Alert>
   <CmdID>1</CmdID>
   <Data>201</Data>
   <Item>
    <Target><LocURI>note</LocURI></Target>
    <Source><LocURI>note</LocURI></Source>
    <Meta>
     <Anchor xmlns="syncml:metinf">
      <Last>1154495887</Last>
      <Next>1154500616</Next>
     </Anchor>
    </Meta>
   </Item>
  </Alert>
  <Final/>
 </SyncBody>
</SyncML>

下一段碼,伺服器響應
<?xml version="1.0" encoding="UTF-8"?>
<SyncML>
 <SyncHdr>
  <VerDTD>1.1</VerDTD>
  <VerProto>SyncML/1.1</VerProto>
  <SessionID>1</SessionID>
  <MsgID>1</MsgID>
  <Target><LocURI>sc-pim-demo</LocURI></Target>
  <Source><LocURI>http://172.16.204.229:8080/sync4j/sync/db/contact</LocURI></Source>
  <RespURI>http://172.16.204.229:8080/sync4j/sync?sid=LTg0LjE2Li01Mi4tMjctMTE1NDUwMDYyMDU3OA</RespURI>
 </SyncHdr>
 <SyncBody>
  <Status>
   <CmdID>1</CmdID>
   <MsgRef>1</MsgRef>
   <CmdRef>0</CmdRef>
   <Cmd>SyncHdr</Cmd>
   <TargetRef>http://172.16.204.229:8080/sync4j/sync/db/contact</TargetRef>
   <SourceRef>sc-pim-demo</SourceRef>
   <Data>212</Data>
  </Status>
  <Status>
   <CmdID>2</CmdID>
   <MsgRef>1</MsgRef>
   <CmdRef>1</CmdRef>
   <Cmd>Alert</Cmd>
   <TargetRef>note</TargetRef>
   <SourceRef>note</SourceRef>
   <Data>200</Data>
   <Item>
    <Data>
     <Anchor xmlns="syncml:metinf">
      <Next>1154500616</Next>
     </Anchor>
    </Data>
   </Item>
  </Status>
  <Alert>
   <CmdID>3</CmdID>
   <Data>201</Data>
   <Item>
    <Target><LocURI>note</LocURI></Target>
    <Source><LocURI>note</LocURI></Source>
    <Meta>
     <Anchor xmlns="syncml:metinf">
      <Last>1154495887703</Last>
      <Next>1154500620593</Next>
     </Anchor>
    </Meta>
   </Item>
  </Alert>
  <Final></Final>
 </SyncBody>
</SyncML>

以上兩個段子表明用戶端發出的請求成功的處理了,下一步,用戶端開始發送資料
<?xml version="1.0" encoding="UTF-8"?>
<SyncML>
 <SyncHdr>
  <VerDTD>1.1</VerDTD>
  <VerProto>SyncML/1.1</VerProto>
  <SessionID>1</SessionID>
  <MsgID>2</MsgID>
  <Target><LocURI>http://172.16.204.229:8080/sync4j/sync/db/contact</LocURI></Target>
  <Source><LocURI>sc-pim-demo</LocURI></Source>
 </SyncHdr>
 <SyncBody>
  <Status>
   <CmdID>1</CmdID>
   <MsgRef>1</MsgRef>
   <CmdRef>0</CmdRef>
   <Cmd>SyncHdr</Cmd>
   <TargetRef>http://172.16.204.229:8080/sync4j/sync/db/contact</TargetRef>
   <SourceRef>sc-pim-demo</SourceRef>
   <Data>200</Data>
  </Status>
  <Status>
   <CmdID>2</CmdID>
   <MsgRef>1</MsgRef>
   <CmdRef>1</CmdRef>
   <Cmd>Alert</Cmd>
   <TargetRef>note</TargetRef>
   <SourceRef>note</SourceRef>
   <Data>200</Data>
   <Item>
    <Data>
     <Anchor xmlns='syncml:metinf'>
      <Next>1154500616</Next>
     </Anchor>
    </Data>
   </Item>
  </Status>
  <Sync>
   <CmdID>3</CmdID>
   <Target><LocURI>note</LocURI></Target>
   <Source><LocURI>note</LocURI></Source>

   <Replace>
    <CmdID>4</CmdID>
    <Meta>
     <Type xmlns='syncml:metinf'>text/plain</Type>
    </Meta>
    <Item>
     <Source><LocURI>item1</LocURI></Source>
     <Data>This is item One</Data>
    </Item>
    <Item>
     <Source><LocURI>item2</LocURI></Source>
     <Data>This is item Two</Data>
    </Item>
    <Item>
     <Source><LocURI>item3</LocURI></Source>
     <Data>This is item Three</Data>
    </Item>
    <Item>
     <Source><LocURI>item4</LocURI></Source>
     <Data>This is item Four</Data>
    </Item>
   </Replace>
  </Sync>
  <Final/>
 </SyncBody>
</SyncML>
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.