Installation‎ > ‎

Setup XMLA Interface for OLAP Servers

SQL Server Analysis Services 2005 (SSAS 2005)

SSAS 2005 installation is bundled with SSAS 2005 XMLA service. To enable the XMLA interface of an SSAS 2005 instance, you need to follow these steps (in the exact order):
  • We are assuming you have already installed IIS and installed Microsoft SQL Server 2005 with SQL Server Analysis Services selected.
  • Copy the contents of the <SQL_INSTALL_FOLDER>\OLAP\bin\isapi directory into the folder you would like to become the base for the virtual directory in IIS.(e.g. C:\inetpub\wwwroot\olap)
  • Create an application pool:
    • Go to IIS Management Console
    • Right-click the Application pools to open the shortcut menu and select New, than Application Pool.
    • Name the application pool. e.g. olap
  • Create a virtual directory
    • Go to IIS Management Console
    • Right-click the Web site to open the shortcut menu and select "New", than "Virtual Directory"
    • Name the virtual directory.(e.g. olap). The "Content Directory" should point to the folder you have just created. (e.g. C:\inetpub\wwwroot\olap)
    • Make sure that under the Access Permissions, only the second check box, "Run Scripts (Such as ASP)" is selected
  • Set up virtual directory properties
    • Right-click your virtual directory node and select Properties from the menu.
    • In virtual directory tab:
      • Choose the application pool as one you have just created.
      • Click the Configuration button. It will show "Application Configuration" Dialog
      • Click on add button
      • In the Executable option, enter the full path name to msmdpump.dll. (e.g. C:\wwwroot\olap\msmdpump.dll)
      • Enter .dll in the Extension text box.
      • Click the OK button to accept the settings
    • In "Directory Security" tab:
      • Click to Edit on Authentication and access control. It will show "Authentication Method" dialog box
      • Enable Anonymous Access
    • Set up Web Service Extension :
      • Go to IIS Management Console, right-click the "Web Service Extensions" node and select "Add new Web Service Extension".
      • Name the extension.(e.g. olap)
      • Click the Add button and provide a path to your msmdpump.dll file
      • Check the "Set Extension Status" to "Allowed" check box.
  • Verify installation: go to http://localhost/olap/msmdpump.dll you should see something like this:
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body> <soap:Fault xmlns="http://schemas.xmlsoap.org/soap/envelope/">
    <faultcode>XMLAnalysisError.0xc10e0002</faultcode>
    <faultstring>Parser: The syntax for 'GET' is incorrect.</faultstring>
    <detail>
    <Error ErrorCode="3238920194" Description="Parser: The syntax for 'GET' is incorrect." Source="Unknown" HelpFile=""/>
    </detail>
    </soap:Fault>
    </soap:Body>
    </soap:Envelope>
  • This means the XMLA interface is set up correctly.

Microsoft Analysis Services 2000 (MSAS 2000)

OpenI communicates with MSAS 2000 OLAP server, using XMLA SDK version 1.1. To enable the XMLA interface of an MSAS instance, you need to follow these steps (in the exact order):
  • See Instructions at msdn site
  • We are assuming you have already installed Microsoft Analysis Services. If not: Install SQL 2000 (optional) and apply Service Pack 3a or latest.
  • Install Microsoft Analysis Services (MSAS) and apply Service Pack 3a or latest.
  • On the machine where MSAS is installed, install IIS 6.0
  • Install Microsoft XML Core Services (MSXML). Use MSXML 4.0 for the 1.1 version of the XML Download here
  • Install XML for Analysis SDK 1.1 Download here
  • Create virtual directory (/xmla), using path to C:\Program Files\Microsoft XML For Analysis SDK\Isapi
  • Enable web service extension(name = xmla, path to C:\Program Files\Microsoft XML For Analysis SDK\Isapi\mdxisapi.dll
  • Verify installation: go to http://localhost/xmla/msxisapi.dll you should see something like this:
    <?xml version="1.0" ?>
    - <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    - <SOAP-ENV:Body>
    - <SOAP-ENV:Fault>
    <faultcode>XMLAnalysisError.88BA0800</faultcode>
    <faultstring>The Web Service supports only the POST operation.</faultstring>
    <faultactor>XML for Analysis Provider</faultactor>
    - <detail>
    - <faultstring>
    <Error ErrorCode="2293893120"
          Description="The Web Service supports only the POST operation." Source="XML for Analysis Provider" />
    </faultstring>
    </detail>
    </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
  • This means the XMLA interface is set up correctly.

Setup Mondrian for XMLA service

OpenI communicates with mondrian, using XMLA service. Steps for enabling XMLA service of mondrian are:
  • We are assuming you have already installed a JDBC datasource(we'll refer to MySQL for this documentation).
  • Open /WEB-INF/datasource.xml file to add datasource. For example on adding foodmart datasource, datasource.xml file will appear as follows:
    <?xml version="1.0"?>
    <DataSources>
    <DataSource>
    <DataSourceName>FoodMart</DataSourceName>
    <DataSourceDescription>Foodmart Data Warehouse</DataSourceDescription>
    <URL>http://localhost:8080/mondrian/xmla</URL>
    <DataSourceInfo>Provider=mondrian;Jdbc=jdbc:mysql://localhost/foodmart;JdbcUser=root;JdbcPassword=;JdbcDrivers=com.mysql.jdbc.Driver;
    </DataSourceInfo>
    <ProviderName>Mondrian</ProviderName>
    <ProviderType>MDP</ProviderType>
    <AuthenticationMode>Unauthenticated</AuthenticationMode>
    <Catalogs>
    <Catalog name="FoodMart">
    <Definition>/WEB-INF/queries/FoodMart.xml</Definition>
    </Catalog>
    </Catalogs>
    </DataSource>
    </DataSources>

    Where:
    "DataSourceName" refers to the name that will be reflected on refering the url via openi.
    "URL" the url that will be used by openi to connect to the OLAP datasource via Datasource definition.
    "DataSourceInfo" tags contains the details related to the XMLA service provider, such as provider, Jdbc datasource, user, password, and driver type to be used.
    "Catalog name" tag refers to the file which contains definitions related to dimensions, hierachies and cubes that will be used to creates analyses and report in openi. File must be contained inside the WEB-INF/queries/ directory of mondrian.
  • Build mondrian using ant and deloploy war file into application server. For example to deploy mondrian on tomcat copy mondrian.war into webapps directory.
  • Run mondrian and open browser to http://localhost:8080/mondrian to check.
    Refers to Mondrian + MySQL Setup for detail information on setting mondrian with MySQL for XMLA.
Comments