[sync] SyncML SQL backend

Karsten Fourmont fourmont at gmx.de
Mon Mar 31 17:17:42 UTC 2008


Hi,

the first sync packet seems to work fine: auth stuff an such is working. 
So the hardest part, getting the systems to talk to each other is 
already done :-)

Maybe the problem comes from the encoding of the CALENDAR date as 
created by your app? Can you post the actual XML response created by the 
server for the two requests?

Thanks,
  Karsten

Eric Persson wrote:
> Hi,
> 
> I used the example sqlbackend to start writing my own, seems to work 
> well, other than the tiny problem, that it doesnt work... yet. :)
> 
> I try to debug it with the Funambol Java Demo Client and find the 
> problem, my current problem is I get String Index out of range - 9, and 
> from I've read out from google, this doesnt tell me anything.
> 
> I have gone through the code debugging and tried to find the problem, 
> but not yet. If I clean the sessions and sync 1 time, it doesnt give me 
> a lot, but on the second sync I get somewhat more, It goes in to 
> Sync.php -> createSyncOutput and starts looping through added($adds) 
> items from the servers(theres 1 that I created). But then nothing more, 
> and I dont get the event in the demo client(probably due to the error).
> 
> I'll attach some error logging/debug output further down.
> 
> Any hints would be greatly appreciated, I use the code in cvs from 
> saturday 2008-03-29. Are there any better tools to debug with than the 
> funambol java demo client? Any other hints that might help the debugging 
> part, or suggestions?
> 
> Btw, modified the wiki a bit on the code example, since raw_post_data 
> wasnt available for me, and there was a missing;
> http://wiki.horde.org/SyncMLCustomBackend
> 
> Thanks in advance for any help.
>    Eric
> 
> Debug output below, 2 consecutive requests, if helpful for anyone. 
> Theres a few extra remarks that i did as well.
> 
> -----------------------------------------
> [30-Mar-2008 23:04:17] ---------------------------NEW 
> REQUEST----------------------------------
> [30-Mar-2008 23:04:17] '\000\000j
-//SYNCML//DTD SyncML 1.0//ENmlq1.1\000rSyncML/1.1\000e12345678\000[1\000nWhttp://localhost/dev/horde/horde_client/rpc.php\000gWfunambol\000NZ\000Ssyncml:auth-basic\000\000\000OZXJpYzpwYXNzd29yZA==\000Z\000L250000\000U4000000\000\000\000kFK1\000O200\000TnWcalendar\000gWcalendar\000Z\000EJ0\000O1206911056850\000\000\000'
> [30-Mar-2008 23:04:17] Backend of class SyncML_Backend_Easy_SQL created 
> / /mnt/storage/dev/horde/framework/SyncML/SyncML/Backend.php / 251
> [30-Mar-2008 23:04:17] logFile: 1
> [30-Mar-2008 23:04:17] SyncML_ContentHandler - process: 
> [30-Mar-2008 23:04:17] New session created: 
> e2cd436c2a3a9f5e454691af6352e3f9 / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML/Command/SyncHdr.php / 35
> [30-Mar-2008 23:04:17] checkAuthorization: , eric:password, , 
> syncml:auth-basic
> [30-Mar-2008 23:04:17] checking auth for user=eric / 
> /mnt/storage/dev/horde/horde_client/Easy_SQL.php / 483
> [30-Mar-2008 23:04:17] authorized=1 version=1 msgid=1 source=funambol 
> target=http://localhost/dev/horde/horde_client/rpc.php user=eric 
> charset=UTF-8 wbxml=1 / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML.php / 447
> [30-Mar-2008 23:04:17] Command: Alert
> [30-Mar-2008 23:04:17] SyncML: No info about previous syncs found for 
> device funambol and database calendar / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML/Command/Alert.php / 86
> [30-Mar-2008 23:04:17] alert: 200
> [30-Mar-2008 23:04:17] two way sync
> [30-Mar-2008 23:04:17] sync object:
> [30-Mar-2008 23:04:17] Create new sync for calendar; synctype=201 / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML/Command/Alert.php / 156
> [30-Mar-2008 23:04:17] created sync object: SyncML_Sync
> [30-Mar-2008 23:04:17] Command: Final
> [30-Mar-2008 23:04:17] HandleFinal for state=0 / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML/Sync.php / 542
> [30-Mar-2008 23:04:17] Received Final from client. / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML/Command/Final.php / 31
> [30-Mar-2008 23:04:17] Sending Final to client. / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML.php / 513
> [30-Mar-2008 23:04:17] SyncML: return message completed / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML.php / 548
> [30-Mar-2008 23:04:17] logFile: 2
> [30-Mar-2008 23:04:17] Any errors?
> [30-Mar-2008 23:04:17] 
> [30-Mar-2008 23:04:17] ---------------------------------END OF 
> REQUEST------------------------
> 
> 
> [30-Mar-2008 23:04:18] ---------------------------NEW 
> REQUEST----------------------------------
> [30-Mar-2008 23:04:18] '\000\000j
-//SYNCML//DTD SyncML 1.0//ENmlq1.1\000rSyncML/1.1\000e12345678\000[1\000nWhttp://localhost/dev/horde/horde_client/rpc.php\000gWfunambol\000NZ\000Ssyncml:auth-basic\000\000\000OZXJpYzpwYXNzd29yZA==\000Z\000L250000\000U4000000\000\000\000kFK1\000O200\000TnWcalendar\000gWcalendar\000Z\000EJ0\000O1206911058666\000\000\000'
> [30-Mar-2008 23:04:18] Backend of class SyncML_Backend_Easy_SQL created 
> / /mnt/storage/dev/horde/framework/SyncML/SyncML/Backend.php / 251
> [30-Mar-2008 23:04:18] logFile: 1
> [30-Mar-2008 23:04:18] SyncML_ContentHandler - process: 
> [30-Mar-2008 23:04:18] Existing session continued: 
> e2cd436c2a3a9f5e454691af6352e3f9 / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML/Command/SyncHdr.php / 43
> [30-Mar-2008 23:04:18] authorized=1 version=1 msgid=1 source=funambol 
> target=http://localhost/dev/horde/horde_client/rpc.php user=eric 
> charset=UTF-8 wbxml=1 / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML.php / 447
> [30-Mar-2008 23:04:18] Command: Alert
> [30-Mar-2008 23:04:18] SyncML: No info about previous syncs found for 
> device funambol and database calendar / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML/Command/Alert.php / 86
> [30-Mar-2008 23:04:18] alert: 200
> [30-Mar-2008 23:04:18] two way sync
> [30-Mar-2008 23:04:18] sync object: SyncML_Sync
> [30-Mar-2008 23:04:18] Command: Final
> [30-Mar-2008 23:04:18] HandleFinal for state=1 / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML/Sync.php / 542
> [30-Mar-2008 23:04:18] server create sync output for syncType=calendar / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML/Sync.php / 263
> [30-Mar-2008 23:04:18] using default device class / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML/Device.php / 47
> [30-Mar-2008 23:04:18] Compiling server changes from 1970-01-01 01:00:00 
> to 2008-03-30 23:04:17 / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML/Sync.php / 295
> [30-Mar-2008 23:04:18] fix _trackDeletes
> [30-Mar-2008 23:04:18] sending 1 server changes for syncType=calendar / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML/Sync.php / 337
> [30-Mar-2008 23:04:18] add: 123 / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML/Sync.php / 394
> [30-Mar-2008 23:04:18] before call to retreieve entry: 
> SyncML_Backend_Easy_SQL
> [30-Mar-2008 23:04:18] retrieveEntry: calendar
> [30-Mar-2008 23:04:18] retrieveEntry: 'Activity from server.'
> [30-Mar-2008 23:04:18] retrieveEntry device: SyncML_Device
> [30-Mar-2008 23:04:18] logFile: 4
> [30-Mar-2008 23:04:18] retrieveEntry: inside? SyncML_XMLOutput
> [30-Mar-2008 23:04:18] retrieveEntry: Start handling replaces adds and 
> stuff:array (
>    123 => 0,
> )
> [30-Mar-2008 23:04:18] Received Final from client. / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML/Command/Final.php / 31
> [30-Mar-2008 23:04:18] Sending Final to client. / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML.php / 513
> [30-Mar-2008 23:04:18] SyncML: return message completed / 
> /mnt/storage/dev/horde/framework/SyncML/SyncML.php / 548
> [30-Mar-2008 23:04:18] logFile: 2
> [30-Mar-2008 23:04:18] Any errors?
> [30-Mar-2008 23:04:18] 
> [30-Mar-2008 23:04:18] ---------------------------------END OF 
> REQUEST------------------------



More information about the sync mailing list