[kronolith] Kronolith 3.0.9 : Remote calendar : error davical

gerard breiner gerard.breiner at ias.u-psud.fr
Fri Dec 2 19:04:30 UTC 2011


Jan Schneider <jan at horde.org> a écrit :

>
> 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.

Good Idea Jan! I uninstalled pecl_http and... It works! I can add events!
In fact no need to install curl cause it was already installed...

Many thanks Jan !

Gerard Breiner

>
> Jan.
>
> -- 
> Do you need professional PHP or Horde consulting?
> http://horde.org/consulting/
>
> -- 
> Kronolith mailing list
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: kronolith-unsubscribe at lists.horde.org
>



----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.



More information about the kronolith mailing list