总共发了三个段子嘛,第一个是客户端发起初始请求到服务器端表示要开始一个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>