Skip to main content
Bag of words connects to the Infor d/EPM OLAP XMLA Provider — the supported entry point for on-premise Infor OLAP / Infor BI (25.x), since native connections were removed — discovers the cubes in each OLAP database, and runs MDX against them.
The Infor OLAP connector is part of the Enterprise Edition.

How it works

XMLA is a SOAP-over-HTTP protocol. Bag of words posts to the endpoint you configure and:
  1. Lists catalogs (OLAP databases) with a DBSCHEMA_CATALOGS Discover.
  2. Lists cubes per catalog (MDSCHEMA_CUBES), then their hierarchies (MDSCHEMA_HIERARCHIES) and measures (MDSCHEMA_MEASURES).
  3. Executes MDX at query time (XMLA Execute, Format=Tabular).
Each cube becomes a schema table named Catalog/Cube (for example Finance/GL), whose columns are dimension hierarchies (dtype="dimension") and measures (dtype="measure"). The MDX unique name for every column is carried in metadata.unique_name. Two things are specific to Infor and worth understanding before you configure anything: The application identity travels inside the XMLA request. Infor database workers authenticate from UserName, Password, and Tenant properties in each request’s XMLA PropertyList — not from HTTP Basic. Bag of words sends both: HTTP Basic reaches the endpoint, and the XMLA properties establish the Infor application identity. Sending Basic alone reaches the worker but leaves the username empty, which the worker rejects. Farms route through a manager. Infor’s documented connection flow is to send DISCOVER_DATASOURCES to the OLAP Service Manager at http(s)://<server>:<manager_port>/BI/APP/SOAP/OLAPDB. The response lists each database with the URL of the Database Worker that serves it, and all subsequent traffic goes to that worker URL. Enable Manager discovery to have Bag of words perform this bootstrap on connect.

Before you start

  • Decide which endpoint you have: a Database Worker XMLA URL (point at it directly) or the OLAP Service Manager URL (enable manager discovery). Worker endpoint paths are farm-specific; the manager endpoint is the documented, stable entry point.
  • The Bag of words backend host must reach that URL. The connector posts to the exact URL configured — no path discovery, no redirect handling.
  • An Infor EPM user with read access to the OLAP database.
  • Know your Tenant value (single on single-tenant farms) and whether the datasource is advertised as Secured — manager discovery matches on both.
  • For ION API Gateway routing, a backend-service .ionapi credentials file for an authorized application. You will need its pu + ot (token URL), ci (client ID), and cs (client secret) values.
Farm-side verification of the registered listeners is netsh http show servicestate view=requestq on the OLAP application server. A live XMLA endpoint answers GET with 405 (it is POST-only); Windows HTTP.sys answers an unregistered path with a 404 carrying Server: Microsoft-HTTPAPI/2.0 — that combination means right machine, wrong path.

Step 1 — Choose the endpoint

Set Endpoint URL to the Database Worker’s XMLA URL and leave Manager discovery off. Use this when you already know the worker URL and it is reachable from the backend.

Step 2 — Handle worker host rewriting

Farms advertise internal machine names in the worker URLs they return, and those names rarely resolve from outside the farm. Rewrite worker host is on by default: the hostname in the discovered worker URL is replaced with the host from the endpoint URL you configured (the worker is reached at the same address the manager was), keeping the discovered path and port. Turn it off only when workers genuinely run on different machines whose hostnames the backend can resolve.

Step 3 — (Optional) Route through ION API Gateway

When the OLAP farm is fronted by ION API Gateway or another reverse proxy, the worker paths returned by manager discovery have to be mapped onto the external route.
1

Set the external worker base

Put the API-suite route that sits in front of /BI/APP/SOAP/OLAPDB into Worker URL base. It must be an absolute URL. The path returned by discovery is appended to it, and the scheme and host of that base win — which is what makes an HTTPS gateway route survive in front of an HTTP OLAP farm.
2

Switch the credentials to ION API Gateway

Choose the ION API Gateway authentication mode and fill it from the backend-service .ionapi file: pu + ot form the token URL, ci is the client ID, cs is the client secret. Bag of words performs an OAuth client-credentials grant, caches the token until shortly before it expires, sends it as a bearer token on every XMLA call, and retries once with a fresh token if the gateway answers HTTP 401.
3

Keep the EPM user

The gateway credentials authenticate the route, not the OLAP user. The Infor username and password are still required and still travel in the XMLA PropertyList on every worker request.
Set Secured to match the value DISCOVER_DATASOURCES advertises for the datasource. It describes the Infor datasource itself — not the transport — so it stays as the farm reports it even when an HTTPS gateway fronts an HTTP OLAP farm.

Connect in Bag of words

Go to Data Sources → Add data source → Infor OLAP and fill in the form. Test Connection authenticates, lists catalogs, and — when a catalog is configured — also lists that catalog’s cubes on the resolved worker, so a manager-only success cannot mask an unreachable worker. When manager discovery resolved a worker, the message includes the worker URL it will use.

Authentication modes

Username / Password can be shared (one admin-supplied EPM account for everyone) or per-user, where each person supplies their own Infor credentials so the OLAP server applies their own access. ION API Gateway is system-scope only — the gateway client is a shared backend-service identity, so this mode always runs on one shared credential.
Per-user authentication on database-style connectors requires an Enterprise license. See Authentication.

Troubleshooting

The host answered but nothing serves XMLA there. If the 404 carries Server: Microsoft-HTTPAPI/2.0, the message adds the documented hint: point the URL at the OLAP Service Manager (http(s)://<server>:<manager_port>/BI/APP/SOAP/OLAPDB) and enable manager auto-discovery. Worker paths are farm-specific — verify the registered listeners on the OLAP app server.
Manager discovery returned more than one database and cannot choose. Set Catalog to one of the names listed in the error.
The Catalog value does not match any database the manager advertises. The error lists the available names; database names are matched case-sensitively first, then case-insensitively.
DISCOVER_DATASOURCES came back empty. Check Tenant, Catalog, Secured, and that the user has access to the application — all four restrict the response.
An empty application username means the worker got the request without the XMLA identity properties. Error 1042 means the worker parsed the identity and rejected the credential — check the Infor EPM username and password, not the transport.
The farm advertised an internal machine name. Keep Rewrite worker host on so the configured host is substituted back in, or set Worker URL base when the worker is reached through a gateway.
Worker URL base needs both a scheme and a host, for example https://gateway.example.com/MYTENANT/EPM_OLAP. A bare path is rejected.
The client-credentials grant against gateway_token_url was refused. Re-copy pu + ot, ci, and cs from the backend-service .ionapi file, and add gateway_scope if the authorized application requires scopes.
Reported as “No OLAP databases visible to this user — check application access.” The endpoint and credentials are fine; the EPM user has no access to any OLAP database.