[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