Forum Discussion
Challenges with XMLA and ADOMD Library
We are attempting to implement an XMLA server compatible with the ADOMD Client library. While there is plenty of documentation on the XMLA protocol for clients, there seems to be very little found for server side of the protocol.
Specifically, we are trying to build a middle layer in the protocol to alter the availability and filtering of data within request life cycle (for example, limiting the reported schema columns, or applying additional filtering above client selected filters). The goal here is to apply this layer between a Power BI dataset and a consuming client, in a SAAS model.
We have done some manual exploration via various tools to attempt to analyze and discover the expectations of the ADOMD client library, but the nuances continue to cause issues with completing the middle layer. We have successfully consumed the XMLA request from a client, and in turn, send that XMLA request on to the Power BI dataset, and then get the response sent back, that is then forwarded to the client, however, this causes the ADOMD library to throw a format error. At this step, we are not yet modifying anything in the request, just as a pass-through code base.
There seems to be quite a bit undocumented on the expectations of HTTP headers, and perhaps even more than that within the protocol itself. We are continuing to test and analyze, however, it would be a big help we could be pointed to any documentation on the server side of the XMLA protocol. It seems there is also a slight difference in the protocol when connecting via the powerbi:// and http:// connection strings, (I know the powerbi:// ends up resolving to pbipncus2-northcentralus.pbidedicated.windows.net, however it appears the request / response SOAP messages may be different depending on which protocol is used).
Any insight would be extremely helpful. Please let me know if there are any questions, or any clarifications necessary.
Thanks!!
Dan