The Pentaho BI server ships a lightweight general purpose webservice for accessing metadata. This is implemented as a webservice plugin by the org.pentaho.common.ui.metadata.service.MetadataService class. This forms a more generic and independent API as compared to the (unmaintained) WAQR metadata services.
The common ui metadata service is part of the common ui plugin. You can find this in pentaho-solutions/system/common-ui
. Here's a snippet from the common-ui plugin.xml
that defines the metadata service:
<webservice id="metadataService" type="xml,gwt" />
Service API / Urls
The Common UI Metadata service can be accessed both as an ordinary webservice and as a GWT webservice.
XML Webservice API
All Common UI Metadata services are accessed using urls of this form:
http://localhost:8080/pentaho/content/ws-run/metadataService/<method-name>
where <method-name> represents the name of a java method of the org.pentaho.common.ui.metadata.service.MetadataService class.
Methods
For an up-to-date overview of the available methods, refer to the source. At the time of writing, these methods are known:
- listBusinessModels - Returns a list of the available business models in XML format. Parameters:
- domainName - optional domain to limit the results
- context - Area to check for model visibility
- listBusinessModelsJson - Returns a list of the available business models in JSON format. Parameters:
- domainName - optional domain to limit the results
- context - Area to check for model visibility
- loadModel - Returns a model object for the requested model in XML format. The model will include the basic metadata: categories and columns.
- domainId - the internal id of the domain. You can retrieve this using the listBusinessModels and listBusinessModelsJson service calls
- modelId - the internal id of the model. You can retrieve this using the listBusinessModels and listBusinessModelsJson service calls
- loadModelJson - Returns a model object for the requested model in JSON format. The model will include the basic metadata: categories and columns.
- domainId - the internal id of the domain. You can retrieve this using the listBusinessModels and listBusinessModelsJson service calls
- modelId - the internal id of the model. You can retrieve this using the listBusinessModels and listBusinessModelsJson service calls
- doQuery - Executes a query model and returns a serializable result set.
- Query
- rowLimit - An optional integer indicating the maximum number of rows. -1 or null means all rows
- doXmlQuery - Executes a XML query and returns a serializable result set
- Query (in MQL XML Vocabulary)
- rowLimit - An optional integer indicating the maximum number of rows. -1 or null means all rows
- doXmlQueryToJson
- doXmlQueryToCdaJson
- doJsonQuery
- doJsonQueryToJson
- doJsonQueryToCdaJson
GWT Webservice API
This document does not describe the GWT style of the API. (Community, feel free to add this documentation).