[kronolith] Kronolith 3.0.9 : Remote calendar : error davical
Jan Schneider
jan at horde.org
Fri Dec 2 11:07:42 UTC 2011
Zitat von Gerard Breiner <gerard.breiner at ias.u-psud.fr>:
> 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 ?
No. Try a different HTTP backend, i.e. uninstall the http extension
and install the curl extension, or talk to the http extension developer.
Jan.
--
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/
More information about the kronolith
mailing list