Hi Has anyone got Multisync SyncML plugin to work with Sync4j (http://sync4j.sourceforge.net)? I have it working with a PalmPilot client, but Multisync fails - it appears to send a broken packet back to the Sync4j server after the first response from the server. Message dump follows.
Any pointers appreciated.
Cheers,
Kev.
Multisync sends:
<?xml version="1.0" encoding="UTF-8"?>
<SyncML xmlns="SYNCML:SYNCML1.1">
<SyncHdr>
<VerDTD>1.1</VerDTD>
<VerProto>SyncML/1.1</VerProto>
<SessionID>1</SessionID>
<MsgID>1</MsgID>
<Target>
<LocURI>http://my.server.address/sync4j/sync</LocURI>
</Target>
<Source>
<LocURI>120692A2CA1F</LocURI>
</Source>
</SyncHdr>
<SyncBody>
<Alert>
<CmdID>1</CmdID>
<Data>200</Data>
<Item>
<Target>
<LocURI>edir</LocURI>
</Target>
<Source>
<LocURI>addressbook</LocURI>
</Source>
<Meta>
<Anchor xmlns="syncml:metinf">
<Last/>
<Next>1070660781</Next>
</Anchor>
</Meta>
</Item>
</Alert>
<Put>
<CmdID>2</CmdID>
<Meta>
<Type
xmlns="syncml:metinf">application/vnd.syncml-devinf+xml</Type>
</Meta>
<Item>
<Source>
<LocURI>./devinf11</LocURI>
</Source>
<Data>
<DevInf xmlns="syncml:devinf">
<Man>The MultiSync Project</Man>
<DevID>120692A2CA1F</DevID>
<DevTyp>workstation</DevTyp>
<DataStore>
<SourceRef>addressbook</SourceRef>
<Rx-Pref>
<CTType>text/x-vcard</CTType>
<VerCT>2.1</VerCT>
</Rx-Pref>
<Tx-Pref>
<CTType>text/x-vcard</CTType>
<VerCT>2.1</VerCT>
</Tx-Pref>
<SyncCap>
<SyncType>1</SyncType>
<SyncType>7</SyncType>
</SyncCap>
</DataStore>
<CTCap>
<CTType>text/x-vcalendar</CTType>
<PropName>BEGIN</PropName>
<ValEnum>VCALENDAR</ValEnum>
<ValEnum>VEVENT</ValEnum>
<ValEnum>VTODO</ValEnum>
<PropName>DTSTART</PropName>
<PropName>DTEND</PropName>
<PropName>DTSTAMP</PropName>
<PropName>SEQUENCE</PropName>
<PropName>END</PropName>
<ValEnum>VCALENDAR</ValEnum>
<ValEnum>VEVENT</ValEnum>
<ValEnum>VTODO</ValEnum>
<PropName>UID</PropName>
<PropName>SUMMARY</PropName>
<PropName>VERSION</PropName>
<ValEnum>1.0</ValEnum>
<PropName>AALARM</PropName>
<PropName>CATEGORIES</PropName>
<PropName>CLASS</PropName>
<PropName>DALARM</PropName>
<PropName>EXDATE</PropName>
<PropName>RESOURCES</PropName>
<PropName>STATUS</PropName>
<PropName>ATTACH</PropName>
<PropName>ATTENDEE</PropName>
<PropName>DCREATED</PropName>
<PropName>COMPLETED</PropName>
<PropName>DESCRIPTION</PropName>
<PropName>DUE</PropName>
<PropName>LAST-MODIFIED</PropName>
<PropName>LOCATION</PropName>
<PropName>PRIORITY</PropName>
<PropName>RELATED-TO</PropName>
<PropName>RRULE</PropName>
<PropName>TRANSP</PropName>
<PropName>URL</PropName>
</CTCap>
<CTCap>
<CTType>text/calendar</CTType>
<PropName>BEGIN</PropName>
<ValEnum>VCALENDAR</ValEnum>
<ValEnum>VEVENT</ValEnum>
<ValEnum>VTODO</ValEnum>
<ValEnum>VALARM</ValEnum>
<PropName>DTSTART</PropName>
<PropName>DTEND</PropName>
<PropName>DTSTAMP</PropName>
<PropName>SEQUENCE</PropName>
<PropName>END</PropName>
<ValEnum>VCALENDAR</ValEnum>
<ValEnum>VEVENT</ValEnum>
<ValEnum>VTODO</ValEnum>
<ValEnum>VALARM</ValEnum>
<PropName>UID</PropName>
<PropName>SUMMARY</PropName>
<PropName>VERSION</PropName>
<ValEnum>2.0</ValEnum>
<PropName>CATEGORIES</PropName>
<PropName>CLASS</PropName>
<PropName>DALARM</PropName>
<PropName>EXDATE</PropName>
<PropName>RESOURCES</PropName>
<PropName>STATUS</PropName>
<PropName>ATTACH</PropName>
<PropName>ATTENDEE</PropName>
<PropName>DCREATED</PropName>
<PropName>COMPLETED</PropName>
<PropName>DESCRIPTION</PropName>
<PropName>DUE</PropName>
<PropName>LAST-MODIFIED</PropName>
<PropName>LOCATION</PropName>
<PropName>PRIORITY</PropName>
<PropName>RELATED-TO</PropName>
<PropName>TRANSP</PropName>
<PropName>URL</PropName>
<PropName>RRULE</PropName>
<PropName>COMMMENT</PropName>
<PropName>ACTION</PropName>
<PropName>TRIGGER</PropName>
<PropName>DURATION</PropName>
<PropName>REPEAT</PropName>
</CTCap>
<CTCap>
<CTType>text/x-vcard</CTType>
<PropName>BEGIN</PropName>
<ValEnum>VCARD</ValEnum>
<PropName>END</PropName>
<ValEnum>VCARD</ValEnum>
<PropName>VERSION</PropName>
<ValEnum>2.1</ValEnum>
<PropName>ENCODING</PropName>
<PropName>VALUE</PropName>
<PropName>CHARSET</PropName>
<PropName>FN</PropName>
<PropName>N</PropName>
<PropName>NAME</PropName>
<PropName>NICKNAME</PropName>
<PropName>PHOTO</PropName>
<PropName>BDAY</PropName>
<PropName>ADR</PropName>
<PropName>LABEL</PropName>
<PropName>TEL</PropName>
<PropName>EMAIL</PropName>
<PropName>MAILER</PropName>
<PropName>TZ</PropName>
<PropName>GEO</PropName>
<PropName>TITLE</PropName>
<PropName>ROLE</PropName>
<PropName>LOGO</PropName>
<PropName>AGENT</PropName>
<PropName>ORG</PropName>
<PropName>CATEGORIES</PropName>
<PropName>NOTE</PropName>
<PropName>PRODID</PropName>
<PropName>REV</PropName>
<PropName>SORT-STRING</PropName>
<PropName>SOUND</PropName>
<PropName>URL</PropName>
<PropName>UID</PropName>
<PropName>CLASS</PropName>
<PropName>KEY</PropName>
</CTCap>
</DevInf>
</Data>
</Item>
</Put>
<Get>
<CmdID>3</CmdID>
<Meta>
<Type
xmlns="syncml:metinf">application/vnd.syncml-devinf+xml</Type>
</Meta>
<Item>
<Target>
<LocURI>./devinf11</LocURI>
</Target>
</Item>
</Get>
<Final/>
</SyncBody>
</SyncML>
Sync4j responds with:
<?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>120692A2CA1F</LocURI>
</Target>
<Source>
<LocURI>http://my.server.address</LocURI>
</Source>
<RespURI>http://my.server.address/sync4j/sync?sid=W0JAMTI1NDljNC0xMDcwNjU3MzA2NDgw</RespURI>
</SyncHdr>
<SyncBody>
<Status>
<CmdID>5</CmdID>
<MsgRef>1</MsgRef>
<CmdRef>0</CmdRef>
<Cmd>SyncHdr</Cmd>
<TargetRef>http://my.server.address/sync4j/sync</TargetRef>
<SourceRef>120692A2CA1F</SourceRef>
<Data>400</Data>
</Status>
<Final/>
</SyncBody>
</SyncML>
Then Multisync sends back:
<?xml version="1.0" encoding="UTF-8"?>
<SyncML xmlns="SYNCML:SYNCML1.1">
<SyncHdr>
<VerDTD>1.1</VerDTD>
<VerProto>SyncML/1.1</VerProto>
<SessionID>1</SessionID>
<MsgID>2</MsgID>
<Target>
<LocURI>http://my.server.address/sync4j/sync</LocURI>
</Target>
<Source>
<LocURI>120692A2CA1F</LocURI>
</Source>
</SyncHdr>
<SyncBody>
<Status>
<CmdID>1</CmdID>
<MsgRef>1</MsgRef>
<CmdRef>0</CmdRef>
<Cmd>SyncHdr</Cmd>
<TargetRef>120692A2CA1F</TargetRef>
<SourceRef>http://my.server.address/sync4j/sync</SourceRef>
<Data>200</Data>
</Status>
<Status>
<CmdID>2</CmdID>
<MsgRef>1</MsgRef>
<Cmd>Unknown</Cmd>
<Data>501</Data>
</Status>
<Status>
<CmdID>3</CmdID>
<MsgRef>1</MsgRef>
<Cmd>Unknown</Cmd>
<Data>501</Data>
</Status>
<Status>
<CmdID>4</CmdID>
<MsgRef>1</MsgRef>
<Cmd>Unknown</Cmd>
<Data>501</Data>
</Status>
<Final/>
</SyncBody>
</SyncML>
At which point Sync4j complains that:
parent
<Status>
<CmdID>2</CmdID>
<MsgRef>1</MsgRef>
<Cmd>Unknown</Cmd>
<Data>501</Data>
</Status>
is missing child: <CmdRef>
-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills. Sign up for IBM's
Free Linux Tutorials. Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
_______________________________________________
Multisync-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/multisync-users
