Error opening file with collabora

After finish collabora nextcloud configuration when I try to open a document I got the following error:

Error: Call to a member function xpath() on boolean

/var/www/html/nextcloud/apps/richdocuments/lib/TokenManager.php - line 122: OCA\Richdocuments\WOPI\Parser->getUrlSrc(‘application/vnd…’)
/var/www/html/nextcloud/apps/richdocuments/lib/Controller/DocumentController.php - line 168: OCA\Richdocuments\TokenManager->getToken(*** sensitive parameters replaced ***)
[internal function] OCA\Richdocuments\Controller\DocumentController->index(‘56175’)
/var/www/html/nextcloud/lib/private/AppFramework/Http/Dispatcher.php - line 161: call_user_func_array(Array, Array)
/var/www/html/nextcloud/lib/private/AppFramework/Http/Dispatcher.php - line 91: OC\AppFramework\Http\Dispatcher->executeController(Object(OCA\Richdocuments\Controller\DocumentController), ‘index’)
/var/www/html/nextcloud/lib/private/AppFramework/App.php - line 115: OC\AppFramework\Http\Dispatcher->dispatch(Object(OCA\Richdocuments\Controller\DocumentController), ‘index’)
/var/www/html/nextcloud/lib/private/AppFramework/Routing/RouteActionHandler.php - line 47: OC\AppFramework\App main(‘OCA\Richdocumen…’, ‘index’, Object(OC\AppFramework\DependencyInjection\DIContainer), Array)
[internal function] OC\AppFramework\Routing\RouteActionHandler->__invoke(Array)
/var/www/html/nextcloud/lib/private/Route/Router.php - line 297: call_user_func(Object(OC\AppFramework\Routing\RouteActionHandler), Array)
/var/www/html/nextcloud/lib/base.php - line 998: OC\Route\Router->match(’/apps/richdocum…’)
/var/www/html/nextcloud/index.php - line 37: OC handleRequest()

Any idea?

1 Like

The CODE docker container along with nextcloud to work out requires several pieces to interact

  • aufs support (used by default on docker)
  • 2 domains and valid SSL certs
  • correct proxy configuration (apache/nginx/etc)
  • authorize domains correctly
  • latest CODE/Collabora app on the nextcloud side

There are just many variables to meet, you might wanna be more specific in order to get help.

That specific error haven’t seen it before.


I have exactly the same error.

Error: Call to a member function xpath() on boolean

0. /var/www/sergalcloud/apps/richdocuments/lib/TokenManager.php - line 133: OCA\Richdocuments\WOPI\Parser->getUrlSrc('application/vnd...')
1. /var/www/sergalcloud/apps/richdocuments/lib/Controller/DocumentController.php - line 168: OCA\Richdocuments\TokenManager->getToken(*** sensitive parameters replaced ***)
2. [internal function] OCA\Richdocuments\Controller\DocumentController->index('240')
3. /var/www/sergalcloud/lib/private/AppFramework/Http/Dispatcher.php - line 161: call_user_func_array(Array, Array)
4. /var/www/sergalcloud/lib/private/AppFramework/Http/Dispatcher.php - line 91: OC\AppFramework\Http\Dispatcher->executeController(Object(OCA\Richdocuments\Controller\DocumentController), 'index')
5. /var/www/sergalcloud/lib/private/AppFramework/App.php - line 115: OC\AppFramework\Http\Dispatcher->dispatch(Object(OCA\Richdocuments\Controller\DocumentController), 'index')
6. /var/www/sergalcloud/lib/private/AppFramework/Routing/RouteActionHandler.php - line 47: OC\AppFramework\App main('OCA\\Richdocumen...', 'index', Object(OC\AppFramework\DependencyInjection\DIContainer), Array)
7. [internal function] OC\AppFramework\Routing\RouteActionHandler->__invoke(Array)
8. /var/www/sergalcloud/lib/private/Route/Router.php - line 297: call_user_func(Object(OC\AppFramework\Routing\RouteActionHandler), Array)
9. /var/www/sergalcloud/lib/base.php - line 999: OC\Route\Router->match('/apps/richdocum...')
10. /var/www/sergalcloud/index.php - line 37: OC handleRequest()
11. {main}

CODE docker container is running fine, it works with seafile which i’m trying to migrate from. (nginx reverse proxy)
I set it up like in the guide for nginx. Office domain is authorized everything runs on a letsencrypt cert with 3 domains(www, root, and office)

Running on ubuntu 16.04 with stock packages

Has anybody ever figured this out?
I’m seeing the same or similar errors

I’ve deployed Nextcloud regularly (non-Docker) and used Docker for Collabora. Both sites have their own domain (xxx1.domain.tld/xxx2.domain.tld), but share a wildcard cert.
I see nothing in the docker logs that would indicate an issue.

I had the same troubles about 2 years ago, especially because of missing aufs storage driver on Debian (8.x at that time). I then had to install a newer kernel (4.9.x dunno) - it was a mess, but worked. Since reinstalling my server (going to Debian 9.x) I gave up trying to force Collabora docker container on standard Debian. Maybe Deb 9.x now does have aufs out of the box, I really don’t know.

But I solved my docker issues with a elegant solution imho: I separately installed one of the killer distros: Univention UCS which first of all can be a replacement for an Microsoft Active Directory (LDAP) and secondly has about 90 One-Click-Install Apps, one of those being Collabora and aswell Nextcloud btw. Mostly open source, free as in free beer and based on Debian, so something we “know” well (incl aufs support I guess).

Anyway - I installed the Collabora Code App on the UCS VM (even newest Collabora Version 3.2.x since this week) and connected my other Nextcloud VM to that Collabora instance - works perfectly. I had to “engineer” though the reverse proxy connection configuration, so it’s not 100% klick-and-go, but hey - better that my own docker mess :wink: