Search code examples
soapiccubexmla

icCube XMLA request documentation


Is there any documentation on how to formulate a request to the XMLA?

The icCube XMLA endpoint for me is: http://localhost:8282/icCube/xmla

I want to make a demo call to the endpoint using postman or something similar, but I am not sure which parameters to pass in the SOAP request.

I have tried:

<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:schemas-microsoft-com:xml-analysis">
    <x:Header>
        <urn:Session SessionId="?" mustUnderstand="?"/>
        <urn:BeginSession mustUnderstand="?"/>
        <urn:EndSession SessionId="?" mustUnderstand="?"/>
    </x:Header>
    <x:Body>
        <urn:Execute>
            <Command>
                <Statement>
                     SELECT 
                         {[Customers].[Geography].[All Regions].[North America].[Canada].[Ottawa]} on COLUMNS,
                         {[Measures].[Count]} on ROWS
                     FROM [Sales]
                </Statement>
            </Command>
            <Properties/>
        </urn:Execute>
    </x:Body>
</x:Envelope>

And I get an empty response:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
        <Session SessionId="1hb96vaa7acol14bj97tyokd4f" xmlns="urn:schemas-microsoft-com:xml-analysis"/>
    </soap:Header>
    <soap:Body>
        <ExecuteResponse xmlns="urn:schemas-microsoft-com:xml-analysis">
            <return>
                <root xmlns="urn:schemas-microsoft-com:xml-analysis:empty"/>
            </return>
        </ExecuteResponse>
    </soap:Body>
</soap:Envelope>

Does anyone know where I can find some more information on how to make this request? The icCube documentation at http://www.iccube.com/support/documentation/user_guide/running_iccube/xmla.php is basically non-existent.

Thank you in advance for any help.


Solution

  • I had to add the correct properties information to the soap call:

    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
     <SOAP-ENV:Body>
      <Execute xmlns="urn:schemas-microsoft-com:xml-analysis" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
        <Command>
            <Statement>
               SELECT 
                   {[Customers].[Geography].[All Regions].[North America].[Canada].[Ottawa]} on COLUMNS,
                   {[Measures].[Count]} on ROWS
               FROM [Sales]
            </Statement>
        </Command>
        <Properties>
            <PropertyList>
                <Catalog>Sales</Catalog>
            </PropertyList>
        </Properties>
      </Execute>
     </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    

    The best documentation I have been able to find for the XMLA is the XML for Analysis Specification.