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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions