Skip to content

WOPI discovery endpoint returns empty actions list (no docx/xlsx/pptx editors) #67

@oduchateau

Description

@oduchateau

WOPI discovery endpoint returns empty actions list (no docx/xlsx/pptx editors)

Description

After enabling WOPI in local.json, the /hosting/discovery endpoint returns an XML response that contains only the <app> declarations and a single Capabilities action, but no actual editor actions (view, edit, etc.) for any file extension.

Steps to reproduce

  1. Pull and run the latest image:
   docker pull ghcr.io/euro-office/documentserver:latest
   docker run -i -t -d -p 8080:80 --restart=always \
     -e EXAMPLE_ENABLED=true \
     -e JWT_SECRET=my_jwt_secret \
     ghcr.io/euro-office/documentserver:latest
  1. Enable WOPI by editing /etc/onlyoffice/documentserver/local.json:
   {
     "wopi": {
       "enable": true
     }
   }
  1. Restart services:
   docker exec <container> supervisorctl restart all
  1. Query the discovery endpoint:
   curl http://localhost:8080/hosting/discovery

Expected result

A discovery XML containing actions for each supported extension, similar to upstream OnlyOffice:

<wopi-discovery>
  <net-zone name="external-http">
    <app name="Word" favIconUrl="...">
      <action name="view" ext="docx" urlsrc="https://.../hosting/wopi/word/view?..." />
      <action name="edit" ext="docx" requires="locks,update" urlsrc="https://.../hosting/wopi/word/edit?..." />
      <action name="convert" ext="doc" urlsrc="..." />
      ...
    </app>
    <app name="Excel" favIconUrl="...">
      <action name="view" ext="xlsx" urlsrc="..." />
      <action name="edit" ext="xlsx" requires="locks,update" urlsrc="..." />
      ...
    </app>
    ...
  </net-zone>
  <proof-key value="..." modulus="..." exponent="..." />
</wopi-discovery>

Actual result

<wopi-discovery>
  <net-zone name="external-http">
    <app name="Word" favIconUrl="https://.../web-apps/apps/documenteditor/main/resources/img/favicon.ico"/>
    <app name="Excel" favIconUrl="https://.../web-apps/apps/spreadsheeteditor/main/resources/img/favicon.ico"/>
    <app name="PowerPoint" favIconUrl="https://.../web-apps/apps/presentationeditor/main/resources/img/favicon.ico"/>
    <app name="Pdf" favIconUrl="https://.../web-apps/apps/pdfeditor/main/resources/img/favicon.ico"/>
    <app name="Capabilities">
      <action ext="" name="getinfo" requires="locks,update" urlsrc="https://.../hosting/capabilities"/>
    </app>
  </net-zone>
</wopi-discovery>

No actions are exposed for any actual file extension (docx, xlsx, pptx, etc.), making WOPI integration impossible — WOPI hosts cannot determine the URL pattern to invoke for editing or viewing documents.

The proof-key element is also missing.

Environment

  • Image: ghcr.io/euro-office/documentserver:latest
  • Build identifier visible in URLs: 9.2.1-09cfa1a0fe63716ad6884db689f9894a
  • OS: Linux x86_64

Additional tests performed

  • Same configuration applied directly to /etc/onlyoffice/documentserver/default.json (setting wopi.enable to true) produces the same incomplete discovery XML.
  • The same local.json configuration on upstream onlyoffice/documentserver:latest produces a complete discovery XML with all expected actions and a proof-key element.
  • WOPI is correctly enabled at the configuration level (the Capabilities action is rendered, suggesting the discovery generator runs but its action templates list is empty).
  • This may be related to a missing template file or a build step that didn't generate the WOPI HTML templates referenced in default.json under wopi.htmlTemplate (../../web-apps/apps/api/wopi).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions