[sync] Sync4j and Horde

Oliver Kuhl okuhl at netcologne.de
Wed Oct 20 05:54:04 PDT 2004


Hi,

Karsten Fourmont wrote:

> Quoting Oliver Kuhl <okuhl at netcologne.de>:
> 
>> I like to use Sync4j-Clients (i.e. the Outlook-Client) with the Horde
>> SyncML-Server. I read the mailinglist-archive and found out that there
>> has to be written a horde<->sync4j-connector.
> 
> 
> I don't know details about Sync4j but imho this only applies if you want 
> to do
> some integration of Sync4J Sync-*Server* and Horde (like using Horde as a
> Datastore for the SyncServer).
> 
> Just using the Sync4j SyncConnector to Sync Outlook with Horde should work
> without any extensive modifications. Just give it a try. Feedback 
> whether it
> actually works would be very much appreciated.
I wish I had better news, but it didn't work. The Sync4j-Outlook-Client 
says:
  Error code: 700
  Error message: SyncBody not found!

And this is what was send/received:
==================================================
# cat /tmp/sync/syncml_client_1.xml
<SyncML>
<SyncHdr>
<VerDTD>1.1</VerDTD>
<VerProto>SyncML/1.1</VerProto>
<SessionID>1</SessionID>
<MsgID>1</MsgID>
<Target><LocURI>http://192.168.0.2</LocURI></Target>
<Source><LocURI></LocURI></Source>
<Cred>
<Meta><Type xmlns='syncml:metinf'>syncml:auth-clear</Type></Meta>
<Data>okuhl:rewilonc</Data>
</Cred>
</SyncHdr>
<SyncBody>
<Alert>
<CmdID>1</CmdID>
<Data>200</Data>
<Item>
<Target><LocURI>./calendar</LocURI></Target>
<Source><LocURI>./calendar</LocURI></Source>
<Meta><Anchor xmlns="syncml:metinf">
<Last>0</Last>
<Next>1098274191</Next>
</Anchor></Meta>
</Item>
</Alert>

<Final/>
</SyncBody>
</SyncML>

==================================================
  # cat /tmp/sync/syncml_server_1.xml (reformatted with newlines)
<SyncML xmlns="">
   <SyncHdr xmlns="syncml:syncml1.1">
     <VerDTD>1.1</VerDTD>
     <VerProto>SyncML/1.1</VerProto>
     <SessionID>1</SessionID>
     <MsgID>1</MsgID>
     <Target>
       <LocURI></LocURI>
     </Target>
     <Source>
       <LocURI>http://192.168.0.2</LocURI>
     </Source>
     <RespURI>http://192.168.0.2</RespURI>
   </SyncHdr>
   <SyncBody xmlns="">
     <Status xmlns="syncml:syncml1.1">
       <CmdID>1</CmdID>
       <MsgRef>1</MsgRef>
       <CmdRef>0</CmdRef>
       <Cmd>SyncHdr</Cmd>
       <SourceRef></SourceRef>
       <TargetRef>http://192.168.0.2</TargetRef>
       <Data>212</Data>
     </Status>
     <Status xmlns="syncml:syncml1.1">
       <CmdID>2</CmdID>
       <MsgRef>1</MsgRef>
       <CmdRef>1</CmdRef>
       <Cmd>Alert</Cmd>
       <SourceRef>./calendar</SourceRef>
       <TargetRef>./calendar</TargetRef>
       <Data>508</Data>
       <Item>
         <Data>
           <Anchor>
             <Next>1098274191</Next>
             <Last>0</Last>
           </Anchor>
         </Data>
       </Item>
     </Status>
     <Alert xmlns="syncml:syncml1.1">
       <CmdID>3</CmdID>
       <Data>201</Data>
       <Item>
         <Target>
           <LocURI>./calendar</LocURI>
         </Target>
         <Source>
           <LocURI>./calendar</LocURI>
         </Source>
         <Meta>
           <Anchor xmlns="syncml:metinf1.1">
             <Last>0</Last>
             <Next>1098274174</Next>
           </Anchor>
         </Meta>
       </Item>
     </Alert>
     <Final xmlns="syncml:syncml1.1">
     </Final>
   </SyncBody>
</SyncML>

===================================================

This looks like a SyncBody - but I am not sure, if it is correct. What 
I'm not sure about, too, is the "Device Id", which I have to configure 
in the Sync4j-Client. I tried it with the default and then simply an 
empty value - both didn't work.

BTW: Is there any specific reason why the reply has no newlines? They 
would increase readability a lot.

Finally, here comes my horde.log output for syncml:
================================================
Oct 20 14:50:13 HORDEHEAD [debug] [horde] SyncML: $this->_locName: 
¢K¡–·°ŠZ' [on line 257 of "/usr/lib/php/Horde/SyncML.php"]
Oct 20 14:50:13 HORDEHEAD [debug] [horde] SyncML: session id = syncml1 
[on line 159 of "/usr/lib/php/Horde/SyncML.php"]
Oct 20 14:50:13 HORDEHEAD [debug] [horde] SyncML: new session state [on 
line 163 of "/usr/lib/php/Horde/SyncML.php"]
Oct 20 14:50:13 HORDEHEAD [debug] [horde] SymcML: authorized=1 version=1 
msgid=1 source= target=http://192.168.0.2 locName=¢K¡–·°ŠZ' [on line 221 
of "/usr/lib/php/Horde/SyncML.php"]
Oct 20 14:50:13 HORDEHEAD [debug] [horde] SyncML: looking for sync for 
./calendar [on line 234 of "/usr/lib/php/Horde/SyncML/Command/Alert.php"]
Oct 20 14:50:13 HORDEHEAD [debug] [horde] SyncML: create new sync for 
./calendar 200 [on line 238 of 
"/usr/lib/php/Horde/SyncML/Command/Alert.php"]
Oct 20 14:50:13 HORDEHEAD [debug] [horde] SQL Query by 
DataTree_sql::_load(): SELECT datatree_id, datatree_name, 
datatree_parents, datatree_order FROM horde_datatree WHERE group_uid = 
'syncml' [on line 106 of "/usr/lib/php/Horde/DataTree/sql.php"]
Oct 20 14:50:13 HORDEHEAD [debug] [horde] SyncML: Anchor mismatch, 
enforcing SlowSync [on line 104 of 
"/usr/lib/php/Horde/SyncML/Command/Alert.php"]
================================================

Does anyone of you have an idea what maybe wrong here?

Gruss,
   Ollie.


More information about the sync mailing list