getXMLACatalogs(proxyURL: String, dataSourceInfo: String, callbackHandler: String, username: String, password: String)
[starting from version: 1.5]
One of four API calls of OLAP/XMLA connectivity diagnostics.
Obtains a list of all available catalogs on a given data source by proxyURL
and dataSourceInfo
. Returns an Array of catalog names.
Parameters
proxyUrl
– the path to proxy URL to the OLAP data source, such as Microsoft Analysis Services and Mondrian.dataSourceInfo
– the service info of the OLAP data source.callbackHandler
– JS function which will be called when the component obtains a list of all available catalogs.username
(optional) – the name of user account at server. This parameter is necessary to complete authentication process.password
(optional) – the password to user account at server. This parameter is necessary to complete authentication process.Example
OLAP/XMLA connectivity step by step. First, getXMLADataSources()
obtains a list of all data sources by given URL (for example: 'http://olap.flexmonster.com/olap/msmdpump.dll'
) and getXMLAProviderName()
returns type
. Second, getXMLACatalogs()
gets all available catalogs for the first data source from the list of available data sources. Then getXMLACubes()
obtains a list of all cubes for the first catalog of the list of available catalogs. Finally, connectTo()
uses all the information about data source to connect to it:
var proxyUrl = 'http://olap.flexmonster.com/olap/msmdpump.dll'; var dataSourceInfo = ''; var type = ''; var catalog = ''; var cube = ''; function diagnostic() { getDataSources(); } function getDataSources() { flexmonster.getXMLADataSources(proxyUrl, 'onDataSourceLoaded'); } function onDataSourceLoaded(result) { dataSourceInfo = result[0]; type = flexmonster.getXMLAProviderName(proxyUrl); flexmonster.getXMLACatalogs(proxyUrl, dataSourceInfo, 'onCatalogsLoaded'); } function onCatalogsLoaded(result) { catalog = result[0]; flexmonster.getXMLACubes(proxyUrl, dataSourceInfo, catalog, 'onCubesLoaded'); } function onCubesLoaded(result) { cube = result[0]; flexmonster.connectTo({ type: type, proxyUrl: proxyUrl, dataSourceInfo: dataSourceInfo, catalog: catalog, cube: cube }); } diagnostic();
Open the example on JSFiddle.
See also