christian-putzke / Roundcube-CardDAV

Roundcube CardDAV Plugin
http://www.graviox.de
GNU Affero General Public License v3.0
119 stars 28 forks source link

[SOLVED] Davical no CardDAV XML-Element found! #29

Open fmbiete opened 12 years ago

fmbiete commented 12 years ago

I'm trying to get working this plugin with a Davical server (already working with thunderbird & sogo extension). But when I synchronize an existing addressbook I get the following message: v0.5.1 | carddav_server_id: 8 | No CardDAV XML-Element found! The CardDAV-Server seems to have no contacts

And the addressbook has 5 contacts

The response:

    <?xml version="1.0" encoding="UTF-8"?>
    <response>
     <addressbook_element>
      <display_name>NAME addressbook</display_name>
      <url>https://davical.domain.com/caldav.php/nameuser/addresses/</url>
      <last_modified>mar, 07 Aug 2012 18:52:11 GMT</last_modified>
     </addressbook_element>
    </response>

the PROPFIND method doesn't seem to return any contact, and only the collection info.

Any ideas??

Roundcube 0.7.2 PHP 5.3.10 Davical 1.1.1 in other server (Nginx 1.2, PHP 5.4)

fmbiete commented 12 years ago

I modified the get method of carddav_backend and now it's working. It downloads all the contacts from the collection.

carddav_backend.php

212c212,214
<               $response = $this->query($this->url, 'PROPFIND');
---
>               $content = '<?xml version="1.0" encoding="utf-8" ?><D:sync-collection xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:carddav"><D:sync-token></D:sync-token><D:prop><D:getcontenttype/><D:getetag/><D:allprop/><C:address-data><C:allprop/></C:address-data></D:prop><C:filter/></D:sync-collection>';
>               $content_type = 'application/xml';
>               $response = $this->query($this->url, 'REPORT', $content, $content_type);
ghost commented 12 years ago

Great! I had the same problem. This fixes it.

hscissors commented 11 years ago

question: do the three lines with the ">" replace the line with "$response = $this->query($this->url, 'PROPFIND');" in carddav_backend.php?

fmbiete commented 11 years ago

Yes, the 3 lines with ">" replace the line with "<"

tuxick commented 9 years ago

Yes, this fixes it for me, how come this hasn't been fixed after all this time? Could this be a Davical specific fix/issue?