[sync] horde4 syncml encoding problem

Holger Wegner holger.wegner at hamburg.de
Fri Oct 21 17:52:02 UTC 2011


Hi to all,
I just upgraded from Horde3 to horde4. Its working fine and the upgrade with fantastic; except the syncml.

I try to sync with an android phone with funambol client Version 10.0.3. It worked fine with horde3.

The funambol client gets an problem when the server (horde rpc.php) sends back its changes.

I compared the xml structures send to the client and noticed following:

Horde3:
CmdID><Meta><Type xmlns="syncml:metinf">text/x-vcalendar</Type></Meta><Item><Source><LocURI>20111021124639.69693nidx81xsxhr at 192.168.102.30</LocURI></Source><Data><![CDATA:q
[BEGIN:VCALENDAR

VERSION:1.0

horde4: (look at the <Data>&lt;![CDATA[BEGIN:VCALENDAR)

CmdID><Meta><Type xmlns="syncml:metinf">text/x-vcalendar</Type></Meta><Item><Source><LocURI>20111021124639.69693nidx81xsxhr at 192.168.102.30</LocURI></Source><Data>&lt;![CDATA[BEGIN:VCALENDAR

VERSION:1.0

When then funambol tries to separate the entries it gets this from the data:

horde3: data starts with: BEGIN:VCALENDAR

Fri Oct 21 19:09:02 MESZ 2011 [INFO] [CalendarSyncSource] New item 20111021124639.69693nidx81xsxhr at 192.168.102.30 from server.

Fri Oct 21 19:09:02 MESZ 2011 [TRACE] [CalendarSyncSource] BEGIN:VCALENDAR

VERSION:1.0

horde4: Data starts with <![CDATA[BEGIN:VCALENDAR

Fri Oct 21 19:01:22 MESZ 2011 [INFO] [CalendarSyncSource] New item 20111021124639.69693nidx81xsxhr at 192.168.102.30 from server.

Fri Oct 21 19:01:22 MESZ 2011 [TRACE] [CalendarSyncSource] <![CDATA[BEGIN:VCALENDAR

VERSION:1.0

and gets an error:
Fri Oct 21 19:01:23 MESZ 2011 [TRACE] [Calendar] Creating Calendar from vCalendar

Fri Oct 21 19:01:23 MESZ 2011 [ERROR] [SyncManager] Exception(com.funambol.common.pim.xvcalendar.TokenMgrError: Lexical error at line 1, column 1.  Encountered: "<" (60), after : "")

Fri Oct 21 19:01:23 MESZ 2011 [ERROR] com.funambol.common.pim.xvcalendar.TokenMgrError: Lexical error at line 1, column 1.  Encountered: "<" (60), after : ""
    at com.funambol.common.pim.xvcalendar.XVCalendarSyntaxParserTokenManager.getNextToken(XVCalendarSyntaxParserTokenManager.java:1927)
    at com.funambol.common.pim.xvcalendar.XVCalendarSyntaxParser.jj_consume_token(XVCalendarSyntaxParser.java:365)
    at com.funambol.common.pim.xvcalendar.XVCalendarSyntaxParser.XVCalendar(XVCalendarSyntaxParser.java:27)
    at com.funambol.common.pim.xvcalendar.XVCalendarSyntaxParser.parse(XVCalendarSyntaxParser.java:16)
    at com.funambol.android.source.pim.calendar.Calendar.setVCalendar(Calendar.java:91)
    at com.funambol.android.source.pim.calendar.CalendarSyncSource.addItem(CalendarSyncSource.java:94)
    at com.funambol.android.source.pim.calendar.CalendarSyncSource.applyChanges(CalendarSyncSource.java:143)
    at com.funambol.syncml.spds.SyncSourceLOHandler.applyChanges(SyncSourceLOHandler.java:223)
    at com.funambol.syncml.spds.SyncManager.applySourceChanges(SyncManager.java:2212)
    at com.funambol.syncml.spds.SyncManager.applySourceItems(SyncManager.java:1850)
    at com.funambol.syncml.spds.SyncManager.processModifications(SyncManager.java:1816)
    at com.funambol.syncml.spds.SyncManager.sync(SyncManager.java:613)
    at com.funambol.client.engine.SyncEngine.fireSync(SyncEngine.java:510)
    at com.funambol.client.engine.SyncEngine$SyncThread.synchronize(SyncEngine.java:436)
    at com.funambol.client.engine.SyncEngine$SyncThread.sync(SyncEngine.java:356)
    at com.funambol.client.engine.SyncEngine$SyncThread.run(SyncEngine.java:334

Why it tries to put a %lt; in the data? It seems to be an encoding problem?

What can I do about it?

thanks in advance
Holger


More information about the sync mailing list