fmbiete / Z-Push-contrib

Z-Push fork with changes that I will try to contrib
GNU Affero General Public License v3.0
135 stars 62 forks source link

Carddav backend #227

Open anluka opened 9 years ago

anluka commented 9 years ago

Hi, I am getting errors syncing carddav backend with Open-xchange. Both imap and caldav work fine.

testing-carddav.php: PHP Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /var/www/zpush/include/z_carddav.php:635 Stack trace:

0 /var/www/zpush/include/z_carddav.php(635): SimpleXMLElement->__construct('')

1 /var/www/zpush/include/z_carddav.php(315): carddav_backend->simplify(false, false)

2 /var/www/zpush/include/z_carddav.php(424): carddav_backend->get(false, false)

3 /var/www/zpush/testing-carddav.php(55): carddav_backend->do_sync(true, false, false)

4 {main}

Next exception 'Exception' with message 'The XML response seems to be malformed and can't be simplified!' in /var/www/zpush/include/z_carddav.php:638 Stack trace:

0 /var/www/zpush/include/z_carddav.php(315): carddav_backend->simplify(false, false)

1 /var/www/zpush/include/z_carddav.php(424): carddav_backend->get(false, false)

2 /var/www/zpush/testing-carddav.php(55): carddav_backend->do_sync(true, false, false)

3 {main}

thrown in /var/www/zpush/include/z_carddav.php on line 638

Or this: 12/09/2015 07:40:02 [ 5459] [DEBUG] [andrew] [android3139899395] BackendCardDAV::getAddressbookFromUrl('https://ox:443/carddav/Contacts/') = not initialized! 12/09/2015 07:40:02 [ 5459] [ WARN] [andrew] [android3139899395] /var/www/zpush/backend/carddav/carddav.php:587 Undefined offset: 0 (8) 12/09/2015 07:40:02 [ 5459] [DEBUG] [andrew] [android3139899395] BackendCardDAV::getAddressbookFromUrl('') = not initialized! 12/09/2015 07:40:02 [ 5459] [ WARN] [andrew] [android3139899395] /var/www/zpush/backend/carddav/carddav.php:588 Undefined offset: 0 (8)

Is it possible to sync contacts with Open-xchange? Could you post sample config file? or offer any troubleshooting suggestion? Thanks.

fmbiete commented 9 years ago

You can use testing/testing-carddav.php to check and debug the problem. It seems the response of your server is not the waited.

anluka commented 9 years ago

Thank you for replying. The quoted log fragment was captured after running testing-carddav.php.
The server is working fine with Carddav-sync on Android...

fmbiete commented 9 years ago

Uncomment and add where needed those lines, they will show the raw response from your dav server and we will see why the XML in the response is not the waited:

$server->enable_debug();
var_dump($server->get_debug());