[kronolith] Kronolith 3.0.9 : Remote calendar : error davical

Gerard Breiner gerard.breiner at ias.u-psud.fr
Tue Sep 20 15:35:06 UTC 2011


Le 16/09/2011 11:04, Gerard Breiner a écrit :
> Le 15/09/2011 15:56, Jan Schneider a écrit :
>>
>> Zitat von Gerard Breiner <gerard.breiner at ias.u-psud.fr>:
>>
>>> Le 15/09/2011 14:30, Jan Schneider a écrit :
>>>>
>>>> Zitat von Gerard Breiner <gerard.breiner at ias.u-psud.fr>:
>>>>
>>>>> Le 14/09/2011 13:06, Jan Schneider a écrit :
>>>>>>
>>>>>> Zitat von Gerard Breiner <gerard.breiner at ias.u-psud.fr>:
>>>>>>
>>>>>>> Le 14/09/2011 11:24, Jan Schneider a écrit :
>>>>>>>>
>>>>>>>> Zitat von Gerard Breiner <gerard.breiner at ias.u-psud.fr>:
>>>>>>>>
>>>>>>>>> Hello,
>>>>>>>>>
>>>>>>>>> I use kronolith 3.0.9 under horde 4.0.8. My server caldav is 
>>>>>>>>> davical version 0.9.9.3 . I created a remote calendar toward 
>>>>>>>>> my server davical 
>>>>>>>>> (https://calendar.domain/caldav.php/username/agenda). When  I 
>>>>>>>>> try to add an event from kronolith (client) to davical 
>>>>>>>>> (server) I get the error
>>>>>>>>> "The event could not be added to the remote server".
>>>>>>>>>
>>>>>>>>> The davical's logs says the content type is incorrect... It 
>>>>>>>>> seems that expect to have xml content but is not.
>>>>>>>>> Does caldav is full supported by kronolith 3.0.9 ?
>>>>>>>>
>>>>>>>> Yes.
>>>>>>>>
>>>>>>>>> Any help would be appreciated.
>>>>>>>>>
>>>>>>>>> Thanks in advance
>>>>>>>>>
>>>>>>>>> Gerard Breiner
>>>>>>>>>
>>>>>>>>> [LOGS]
>>>>>>>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: 
>>>>>>>>> LOG: NOTICE:Unusual content-type of "(null)" and first word of 
>>>>>>>>> content is ""
>>>>>>>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: 
>>>>>>>>> LOG: :***************** Response Header ****************
>>>>>>>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: 
>>>>>>>>> LOG: headers:-->X-Powered-By: PHP/5.3.3-7+squeeze1
>>>>>>>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: 
>>>>>>>>> LOG: headers:-->Server: 0.9
>>>>>>>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: 
>>>>>>>>> LOG: headers:-->DAV: 1, 2, 3, access-control, calendar-access, 
>>>>>>>>> calendar-schedule
>>>>>>>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: 
>>>>>>>>> LOG: headers:-->DAV: extended-mkcol, calendar-proxy, bind, 
>>>>>>>>> addressbook
>>>>>>>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: 
>>>>>>>>> LOG: headers:-->X-DAViCal-Version: DAViCal/0.9.9; DB/1.2.9
>>>>>>>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: 
>>>>>>>>> LOG: headers:-->Content-type: text/xml; charset="utf-8"
>>>>>>>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: 
>>>>>>>>> LOG: :******************** Response ********************
>>>>>>>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: 
>>>>>>>>> LOG: response:--><?xml version="1.0" encoding="utf-8" ?>
>>>>>>>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: 
>>>>>>>>> LOG: response:--><error xmlns="DAV:">
>>>>>>>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: 
>>>>>>>>> LOG: response:--> 
>>>>>>>>> <urn:ietf:params:xml:ns:caldav:supported-calendar-data/>Incorrect 
>>>>>>>>> content type for calendar:
>>>>>>>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: 
>>>>>>>>> LOG: response:--></error>
>>>>>>>>> [LOGS]
>>>>>>>>
>>>>>>>> If possible, try to trace the communication between Kronolith 
>>>>>>>> and DAViCal.
>>>>>>> By using firebug ?
>>>>>>
>>>>>> No, Firebug only traces the communication between the browser and 
>>>>>> Kronolith. Use something like wireshark.
>>>>>>
>>>>>>>> Jan.
>>>>>>>>
>>>>>>>
>>>>>>> However, I've just made a try and the good news is it works very 
>>>>>>> fine IF I comment in kronolith/lib/Driver/Ical.php the lines :
>>>>>>>
>>>>>>> [CODE]
>>>>>>> 435          if (!in_array($response->code, array(200, 201, 
>>>>>>> 204))) {
>>>>>>> 436             Horde::logMessage(sprintf('Failed to create 
>>>>>>> event on remote calendar: url = "%s", status = %s',
>>>>>>> 437                                       $url, 
>>>>>>> $response->code), 'INFO');
>>>>>>> 438             throw new Kronolith_Exception(_("The event could 
>>>>>>> not be added to the remote server."));
>>>>>>> 439
>>>>>>> [CODE]
>>>>>>
>>>>>> If commenting this out worked, you have a log entry in the horde 
>>>>>> log that you didn't mention.
>>>>>>
>>>>> Here is :
>>>>> INFO: HORDE4 [kronolith] Failed to create event on remote 
>>>>> calendar: url = "", status = 412 [pid 16916 on line 437 of 
>>>>> "/www/horde4/kronolith/lib/Driver/Ical.php"]
>>>>
>>>> Response status 412 means that a precondition failed while PUTing 
>>>> the event on the server. Unfortunately we don't read the 
>>>> precondition error message yet. Can you check if davical logs some 
>>>> error message?
>>>>
>>>> Jan.
>>>>
>>> Yes, davical logs some error message.... it is in my first request 
>>> to the list :
>>> [LOGS]
>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: LOG: 
>>> NOTICE:Unusual content-type of "(null)" and first word of content is ""
>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: LOG: 
>>> :***************** Response Header ****************
>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: LOG: 
>>> headers:-->X-Powered-By: PHP/5.3.3-7+squeeze1
>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: LOG: 
>>> headers:-->Server: 0.9
>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: LOG: 
>>> headers:-->DAV: 1, 2, 3, access-control, calendar-access, 
>>> calendar-schedule
>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: LOG: 
>>> headers:-->DAV: extended-mkcol, calendar-proxy, bind, addressbook
>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: LOG: 
>>> headers:-->X-DAViCal-Version: DAViCal/0.9.9; DB/1.2.9
>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: LOG: 
>>> headers:-->Content-type: text/xml; charset="utf-8"
>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: LOG: 
>>> :******************** Response ********************
>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: LOG: 
>>> response:--><?xml version="1.0" encoding="utf-8" ?>
>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: LOG: 
>>> response:--><error xmlns="DAV:">
>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: LOG: 
>>> response:--> 
>>> <urn:ietf:params:xml:ns:caldav:supported-calendar-data/>Incorrect 
>>> content type for calendar:
>>> [Mon Sep 12 11:21:32 2011] [error] [client x.x.x.x] DAViCal: LOG: 
>>> response:--></error>
>>> [LOGS]
>>
>> We explicitely set the Content-Type header to text/calendar.
>>
>> Jan.
>>
> Yet Davical's log say the content-type is "null" and the first word of 
> content is empty... This problem might comes from davical but I think 
> it comes from kronolight because I do not meet any problem by using 
> lightning as client davical... Nevertheless it's not so easy to find 
> out...
> I would add up that it is the horde pear distribution recommended that 
> I've installed.
>
> I suspect that there is a moment during the handshaking between 
> kronolith and davical where the content-type is lost....
>
> Many thanks for help.
>
> Gerard Breiner
>
>
I do not give up... I wonder how the kronolith request to kronolith is 
made because davical log :
[LOG]DAViCal: ALL: DAVResource::FromPath: Path 
"/gbreiner/agenda/4e78abc9-1394-4bfe-8da0-537381af450f.ics" is not a 
collection [/LOG]
In fact the collection should be "/gbreiner/agenda/"... The ics file is 
never explicitly mentionned in the request of TD/L which works very 
fine...  I mean the "add event" from lightning  to davical works 
perfectly  but not with kronolith.

Any help would be appreciated..

Best regards

Gerard


More information about the kronolith mailing list