I'm trying to write own SyncML server on basis of libsynthesis
(version 3.4.0.6, Linux ix86, Fedora 13).
Synchronization of Bookmarks from Nokia E65 does not work.
With DEMO server I'm getting response "System error" when
synchronization fails. With my version the last message is sent to
Synthesis engine, but no response data are returned up to
sysync::STEPCMD_DONE is returned. No error codes are returned
from sysync::TEngineModuleBridge::SessionStep either, but I see
error 415 in session log generated by Synthesis engine.
stepCmd transitions from sysync::TEngineModuleBridge::SessionStep
ar as follows:
session_step: t=0.000004 err=0 : STEPCMD_GOTDATA ==> STEPCMD_OK
session_step: t=0.013181 err=0 : STEPCMD_STEP ==> STEPCMD_OK
session_step: t=0.022412 err=0 : STEPCMD_STEP ==> STEPCMD_OK
session_step: t=0.003081 err=0 : STEPCMD_STEP ==> STEPCMD_OK
session_step: t=0.002419 err=0 : STEPCMD_STEP ==> STEPCMD_OK
session_step: t=0.000028 err=0 : STEPCMD_STEP ==> STEPCMD_OK
session_step: t=0.001782 err=0 : STEPCMD_STEP ==> STEPCMD_OK
session_step: t=0.000234 err=0 : STEPCMD_STEP ==> STEPCMD_SENDDATA
session_step: t=0.000002 err=0 : STEPCMD_SENTDATA ==> STEPCMD_NEEDDATA
session_step: t=0.000004 err=0 : STEPCMD_GOTDATA ==> STEPCMD_OK
session_step: t=0.001729 err=0 : STEPCMD_STEP ==> STEPCMD_OK
session_step: t=0.023664 err=0 : STEPCMD_STEP ==> STEPCMD_OK
session_step: t=0.000004 err=0 : STEPCMD_STEP ==> STEPCMD_DONE
Note: t=<time in seconds> err=<return code>
How I can detect such problem and return reasonable response to the client
(perhaps Synthesis engine should do that instead of "eathing" client query
without any response)?
Andris
PS. Related fragments from session log:
*
o
–
[2010-06-01 13:36:13.906] 'RemoteDatastores' - Analyzing
remote datastores [--][++] [->end]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F17>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H15>
+
+
–
[2010-06-01 13:36:13.906] 'RemoteDSDevInf' -
Registering remote Datastore from devInf [--][++]
[->end]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F18>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H17>
# /[2010-06-01 13:36:13.906]/ Remote Datastore
Name='./BrowserBookmarks',
DisplayName='Bookmarks', MaxGUIDSize=8
# /[2010-06-01 13:36:13.906]/ Preferred
Rx='text/x-vBookmark' version '1.0', preferred
Tx='text/x-vBookmark' version '1.0'
#
+
–
[2010-06-01 13:36:13.906] 'RemoteTypes' -
Analyzing remote types listed in datastore level
CTCap [--][++] [->end]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F19>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H18>
*
+
–
[2010-06-01 13:36:13.906] 'RemoteCTCap' -
Registering remote Type/Version from >=DS
1.2 style CTCap, type=text/x-vBookmark,
version=1.0 [--][++] [->end]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F20>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H19>
o /[2010-06-01 13:36:13.906]/
Registered Type 'text/x-vbookmark'
Version='1.0', implemented by local
type vbookmark, related to remote
datastore './BrowserBookmarks'
o /[2010-06-01 13:36:13.906]/ Field
options after CTCap analyzing:
o /[2010-06-01 13:36:13.906]/
- REV : n/a
maxoccur=0, maxsize=0 (unlimited)
- SYNCLVL : n/a
maxoccur=0, maxsize=0 (unlimited)
- TITLE : n/a
maxoccur=0, maxsize=0 (unlimited)
- CATEGORIES : n/a
maxoccur=0, maxsize=0 (unlimited)
- CLASS : n/a
maxoccur=0, maxsize=0 (unlimited)
- URL : n/a
maxoccur=0, maxsize=0 (unlimited)
- NOTE : n/a
maxoccur=0, maxsize=0 (unlimited)
–[2010-06-01 13:36:13.906] End of
'RemoteCTCap' [->top]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H20>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F19>
*
+
–
[2010-06-01 13:36:13.906] 'RemoteCTCap' -
Registering remote Type/Version from >=DS
1.2 style CTCap,
type=application/vnd.omads-folder+xml,
version=1.0 [--][++] [->end]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F21>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H19>
o /[2010-06-01 13:36:13.906]/
Registered Type
'application/vnd.omads-folder+xml'
Version='1.0', NOT implemented,
related to remote datastore
'./BrowserBookmarks'
–[2010-06-01 13:36:13.906] End of
'RemoteCTCap' [->top]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H21>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F19>
–[2010-06-01 13:36:13.906] End of 'RemoteTypes'
[->top]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H19>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F18>
# /[2010-06-01 13:36:13.906]/ Type already
registered as 'text/x-vbookmark' Version='1.0'
# /[2010-06-01 13:36:13.906]/ Type already
registered as 'application/vnd.omads-folder+xml'
Version='1.0'
# /[2010-06-01 13:36:13.906]/ Type already
registered as 'text/x-vbookmark' Version='1.0'
# /[2010-06-01 13:36:13.906]/ Type already
registered as 'application/vnd.omads-folder+xml'
Version='1.0'
–[2010-06-01 13:36:13.906] End of 'RemoteDSDevInf'
[->top]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H18>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F17>
–[2010-06-01 13:36:13.906] End of 'RemoteDatastores' [->top]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H17>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F15>
o /[2010-06-01 13:36:13.911]/ ##### IPNSyncAdmin (LNK):
Session_SaveDeviceInfo: error code 0
–[2010-06-01 13:36:13.911] End of 'DevInf_Analyze' [->top]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H15>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F14>
*
+
–
[2010-06-01 13:36:14.543] 'processStatus' - Processing incoming Status
[--][++] [->end]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F34>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H28>
* /[2010-06-01 13:36:14.544]/ Started processing Command 'Status'
(incoming MsgID=2, CmdID=2)
* /[2010-06-01 13:36:14.544]/ WARNING: RECEIVED NON-OK STATUS 415
for command 'Results'
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#IO_1_5>
(outgoing MsgID=1, CmdID=5)
* /[2010-06-01 13:36:14.544]/ Found matching command 'Results' for
Status
* /[2010-06-01 13:36:14.544]/ Status: 415: originator exception
*
+
–
[2010-06-01 13:36:14.544] 'SessionAbort' - Aborting Session,
Status=415, ProblemSource=REMOTE [--][++] [->end]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F35>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H34>
o /[2010-06-01 13:36:14.544]/ WARNING: Aborting Session with
Reason Status 415 (REMOTE problem) ***
o /[2010-06-01 13:36:14.544]/ --------------- Ignoring all
commands in this message (after 0 sec. request processing, 0
sec. total) with Status 514 (0=none) from here on
o
+
–
[2010-06-01 13:36:14.544] 'DSAbort' - Aborting datastore
sync, abortStatusCode=415, localProblem=no, resumable=yes
[--][++] [->end]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F36>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H35>
+ /[2010-06-01 13:36:14.544]/ bookmarks: testState=FALSE
- expected state>='sync_set_ready', found
state=='server_answered_alert'
+
+
–
[2010-06-01 13:36:14.544] 'SaveSuspendState' - Saving
state for suspend/resume, datastore=bookmarks [--][++]
[->end]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F37>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H36>
#
+
–
[2010-06-01 13:36:14.544] 'SaveResumeMarks' -
let implementation save resume info,
datastore=bookmarks [--][++] [->end]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F38>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H37>
* /[2010-06-01 13:36:14.544]/ SaveAdminData:
adding 0 entries from fTempGUIDMap as
mapentry_tempidmap
* /[2010-06-01 13:36:14.544]/
apiSaveAdminData: internal map table has 0
entries (normal and others)
–[2010-06-01 13:36:14.575] End of
'SaveResumeMarks' [->top]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H38>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F37>
–[2010-06-01 13:36:14.575] End of 'SaveSuspendState'
[->top]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H37>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F36>
+ /[2010-06-01 13:36:14.576]/ *************** Warning:
Datastore flagged aborted (after 0 sec. request
processing, 0 sec. total) with REMOTE Status 415
–[2010-06-01 13:36:14.576] End of 'DSAbort' [->top]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H36>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F35>
–[2010-06-01 13:36:14.576] End of 'SessionAbort' [->top]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#H35>
[->enclosing]
<file:///home/apavenis/Work/projects/SyncML/f13/log/sysynclib_uni_linux_20100601T103613Z_s3nWotsCUALsq1PZCDcGj728kSWU.html#F34>
* /[2010-06-01 13:36:14.576]/ Status: processed, removed command
'Results' from status wait queue
* /[2010-06-01 13:36:14.576]/ Status: command 'Results' has handled
status and allows to be deleted
* /[2010-06-01 13:36:14.576]/ Deleted command 'Results' (outgoing
MsgID=1, CmdID=5)
* /[2010-06-01 13:36:14.576]/ Deleted command 'Status' (incoming
MsgID=2, CmdID=2)
_______________________________________________
os-libsynthesis mailing list
[email protected]
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis