-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dav Server reports: The input element to parse is empty. #196
Comments
Looks like something has changed in Baikal and it was working before? You could check #192 which allows to select the query method and see if any of these variants work. Otherwise I'd suggest to open an issue with Baikal. |
@altheeagle Please check with the current version whether the last imported PR #205 solves your problem |
Thank you that you mentioned me. Unfortunatly it didn't helped - or made somethin wrong. I've just updated carddav2fb with "git fetch" and "composer update" and still getting same error. |
Just surfing by here I think I can give a few helpful pointers. Please see here for the issue: sabre-io/dav#932 You may be interested in this for inspiration on how to fix it: mstilkerich/carddavclient@106a1df |
Interesting. I‘m by no means a curl expert. As I understand it you‘re retrying the request in the dreaded HTTP 500 response with different curl auth options? Sabre won‘t fix it as its due to http client behavior. We could try applying your fix here, thank you very much! |
There is different ways to work around this:
If you don't care about performance, 1 or 3 are the easy way to go. For me, 1 and 2 was not an option, because I want the library to interoperate with any CardDAV server in the most efficient supported way. 3 was also not an option because I don't want to slow down communication with other CardDAV servers because of a workaround for sabre. So I chose to try the normal way, and specifically detect the issue (500 reply and some other conditions you can see in my commit's code comment). Only if I detect the issue I then use option 3. |
Thank you @mstilkerich for the in-depth explanation. As performance is not my primary concern due to the batch-oriented nature of what we're doing 3. sounds like a good option. It would still be considerable better in performance than 1. @blacksenator do you want to give it a try? It should also only be necessary to use this approach if user/password are specified, but not with open servers. |
@andig I just followed the discussion out of the corner of my eye. If I understand correctly, the request method should be cascaded? If you code the PR, I can willingly test it - if you explain to me again how or what to test. |
PR attached please let me know if this works and solves the problem with Sabre. |
Hi, I've just updated the program and now I get a different Error: [GuzzleHttp\Exception\ServerException (500)] <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns"> Exception trace: run [-i|--image] [-l|--local [LOCAL]] [-c|--config CONFIG] |
@altheeagle |
@blacksenator |
I have upgraded to baikal 0.6.1 and get a 500 error while using carddav2fb, the apache error log of baikal says
[Thu Feb 13 13:01:20.650491 2020] [php7:notice] [pid 17226] [client 10.10.10.10:41862] Sabre\\Xml\\ParseException: The input element to parse is empty. Do not attempt to parse in /var/www/example.com/vendor/sabre/xml/lib/Service.php:114\nStack trace:\n#0 /var/www/example.com/vendor/sabre/dav/lib/DAV/CorePlugin.php(715): Sabre\\Xml\\Service->parse()\n#1 /var/www/example.com/vendor/sabre/event/lib/WildcardEmitterTrait.php(96): Sabre\\DAV\\CorePlugin->httpReport()\n#2 /var/www/example.com/vendor/sabre/dav/lib/DAV/Server.php(464): Sabre\\DAV\\Server->emit()\n#3 /var/www/example.com/vendor/sabre/dav/lib/DAV/Server.php(241): Sabre\\DAV\\Server->invokeMethod()\n#4 /var/www/example.com/vendor/sabre/dav/lib/DAV/Server.php(309): Sabre\\DAV\\Server->start()\n#5 /var/www/example.com/Core/Frameworks/Baikal/Core/Server.php(123): Sabre\\DAV\\Server->exec()\n#6 /var/www/example.com/html/dav.php(61): Baikal\\Core\\Server->start()\n#7 {main}
baikal is working fine with Thunderbird TBsync , also the iOS Contacts App is working
The text was updated successfully, but these errors were encountered: