[kronolith] Kronolith 3.0.9 : Remote calendar : error davical

Gerard Breiner gerard.breiner at ias.u-psud.fr
Thu Dec 1 15:27:27 UTC 2011


Le 30/11/2011 17:32, Jan Schneider a écrit :
>
> Zitat von Gerard Breiner <gerard.breiner at ias.u-psud.fr>:
>
>> Le 30/11/2011 14:48, Gerard Breiner a écrit :
>>> Le 30/11/2011 11:19, 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.
>>>>>>
>>>>>
>>>>> Hello Jan
>>>>>
>>>>> I've kept on working  about the "add event" that can't be added from
>>>>> kronolith to davical.
>>>>> So, I've used tshark for checking whether kronolith was actually
>>>>> sending the PUT data.  I precise that kronolith and davical are 
>>>>> located on
>>>>> the same server and their web interfaces are accessible by
>>>>> virtualhosts. So, I made tshark to listen on the server himself 
>>>>> like this .
>>>>>
>>>>> tshark -n -i 3 -V -z conv,udp,ip.addr==x.x.x.x src host x.x.x.x > 
>>>>> /tmp/tshark.txt
>>>>>
>>>>> give :
>>>>> ---------------------------------------------------------
>>>>> PUT 
>>>>> /caldav.php/gbreiner/calendar/4ed4fd72-c7b4-4c55-8632-6ad781af450f.ics 
>>>>> HTTP/1.1\r\n
>>>>>        [Expert Info (Chat/Sequence): PUT 
>>>>> /caldav.php/gbreiner/calendar/4ed4fd72-c7b4-4c55-8632-6ad781af450f.ics 
>>>>> HTTP/1.1\r\n]
>>>>>            [Message: PUT 
>>>>> /caldav.php/gbreiner/calendar/4ed4fd72-c7b4-4c55-8632-6ad781af450f.ics 
>>>>> HTTP/1.1\r\n]
>>>>>            [Severity level: Chat]
>>>>>            [Group: Sequence]
>>>>>        Request Method: PUT
>>>>>        Request URI: 
>>>>> /caldav.php/gbreiner/calendar/4ed4fd72-c7b4-4c55-8632-6ad781af450f.ics 
>>>>>
>>>>>        Request Version: HTTP/1.1
>>>>>    Authorization: Basic Z2JyZWluZXI6JGFuYWlzJA==
>>>>>        Credentials: <mylogin>:<mypassword>
>>>>>    User-Agent: PECL::HTTP/1.7.1 (PHP/5.3.3-7+squeeze3)
>>>>>    Host: davicalserver.mydomain.fr
>>>>>    Accept: */*
>>>>>    Content-Type: text/calendar
>>>>>    Content-Length: 0
>>>>>        [Content length: 0]
>>>>> --------------------------------------------------------------
>>>>> My question is : An idea why the content-Length is 0 ? I guess it 
>>>>> is why I can't add the event...
>>>>
>>>> No idea, this header is added by the HTTP extension (in your case).
>>>>
>>>>> However the data calendar that I try to add to davical server are :
>>>>
>>>> And are you sure that this data is sent with the PUT request? If 
>>>> yes, then your HTTP extension is broken.
>>>>
>>>>> -------------------------------------
>>>>> BEGIN:VCALENDAR
>>>>> VERSION:2.0
>>>>> X-WR-CALNAME:Calendar of gerard breiner
>>>>> PRODID:-//The Horde Project//Horde iCalendar Library//EN
>>>>> METHOD:PUBLISH
>>>>> BEGIN:VEVENT
>>>>> DTSTART;VALUE=DATE:20111130
>>>>> DTEND;VALUE=DATE:20111130
>>>>> X-FUNAMBOL-ALLDAY:1
>>>>> DTSTAMP:20111129T145536Z
>>>>> UID:20111129155523.eVDkMKLWZNpO1PJbuVvGJuA at webmail1.ias.u-psud.fr
>>>>> CREATED:20111129T145523Z
>>>>> LAST-MODIFIED:20111129T145523Z
>>>>> SUMMARY:TITLE
>>>>> DESCRIPTION:DESCRIPTION
>>>>> LOCATION:PLACE
>>>>> CLASS:PUBLIC
>>>>> STATUS:CONFIRMED
>>>>> TRANSP:OPAQUE
>>>>> END:VEVENT
>>>>> END:VCALENDAR
>>>>> --------------------------------------------------
>>>>>
>>>>> Thanks in advance.
>>>>>
>>>>> Best regards.
>>>>>
>>>>> Gerard Breiner
>>>>> -- 
>>>>> Kronolith mailing list
>>>>> Frequently Asked Questions: http://horde.org/faq/
>>>>> To unsubscribe, mail: kronolith-unsubscribe at lists.horde.org
>>>>
>>>>
>>>> Jan.
>>>>
>>> Many thanks Jan! According to answers I've got from davical list 
>>> (Andrew), data is sent with the PUT request. So I'm going to check 
>>> the HTTP extension...
>>>
>>> Best regards
>>>
>>> Gerard Breiner
>> Jan,
>>
>> According to what I see from phpinfo, it seems that HTTP extension is 
>> enabled...
>
> Of course it is. How could it be broken if it wasn't?
>
> Jan.
>
Oh yes Jan... Sorry... Is there a simple command for testing it ?

Best regards.

Gerard Breiner



More information about the kronolith mailing list