XML for Analysis(XMLA)开发详解-(5)XMLA请求的格式及实例示意
2008-11-06 21:22
746 查看
目录
1、综述(简要回顾一下Olap开发接口)
2、XMLA概念(基本来自联机手册,介绍一些概念,如果熟悉概念可以略过)
3、XMLA配置(针对各个版本的SSAS、IIS的配置说明)
4、XMLAoverTCP/IP(说明一下为什么SSAS内置的XMLAoverTCP/IP在开发时行不通)
5、XMLforAnalysis(XMLA)开发详解-(5)XMLA请求的格式及实例示意
6、元数据访问接口Discover方法(获取目标OLAP服务的结构性信息及属性信息)
7、数据查询接口Execute方法(执行MDX语句查询)及全文总结
5、
本文将不断根据情况更新(最近更新请通过http://www.jbean.cn获取)。
XMLA请求的数据结构
XMLA请求由多层封包组成,总体结构如下图所示,其中,HTML封包是SOAP所依赖的传输协议,与XMLA之间相隔了SOAP一层,因此HTML封包与XMLA没有任何逻辑关系(实事上如本系列第四篇所述,微软自用的传输协议是TCP/IP之,还进一步的对SOAP封包进行了压缩及加密)。
SOAP封包与XMLA相邻,并被XMLA用来寄存维护会话的SESSION标头命令(四个命令)。没有指定SESSION标头的每一个命令都是一个独立的短暂会话,对于客户端保持原子化的事务特性。
XMLA方法的组成及结构
在XMLA介绍一节我们知道XMLA具有两种方法,分别是Discover、Execute。其中,Discover方法用于从SSAS服务器及指定多维数据库实例检索结构性的信息,包括获取服务器的多维数据库Cube列表、Catalog、DataSource、Dimensions、Levels等。DisCover方法的结构如下:
<Discover>
<RequestType>...</RequestType>
<Restrictions>...</Restrictions>
<Properties>...</Properties>
</Discover>
Execute方法则携带Command参数,从指定的多维数据集获取查询数据。最常用Command是执行MDX语句查询的Statement命令(<Statement>MDXQueryClause</Statement>):
<Execute>
<Command>...</Command>
<Properties>...</Properties>
<Parameters>...</Parameters>
</Execute>
XMLASOAP请求实例(已去掉HTTP封包)
下表是一个完整的获取数据源列表的XMLADiscover请求,表的第一列各行分割了XMLA封包的各部分,第二列对应行说明了各部分的含义。<?xmlversion="1.0"encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV=" SOAP-ENV:encodingStyle=" <SOAP-ENV:Body> | soap表头 |
<Discoverxmlns="urn:schemas-microsoft-com:xml-analysis" SOAP-ENV:encodingStyle=" <RequestType>DISCOVER_DATASOURCES</RequestType> <Restrictions> <RestrictionList> </RestrictionList> </Restrictions> <Properties> <PropertyList> <Content>Data</Content> </PropertyList> </Properties> </Discover> | XMLA方法 |
</SOAP-ENV:Body> </SOAP-ENV:Envelope> | soap |
关于返回结果
如果知道完成特定任务的请求序列,关于结果的描述信息可以通过查找MSDN或XMLASPEC可以轻松的获取。因此,本系列不打算对XMLA的返回结果进行描述。
相关文章推荐
- [导入]XML for Analysis(XMLA)开发详解-(5)XMLA请求的格式及实例示意
- XML for Analysis(XMLA)开发详解-(6)XMLA Discover方法解析及实例
- XML for Analysis(XMLA)开发详解-(7)XMLA Execute方法解析及实例(完)
- [导入]XML for Analysis(XMLA)开发详解-(6)XMLA Discover方法解析及实例
- [导入]XML for Analysis(XMLA)开发详解-(7)XMLA Execute方法解析及实例(完)
- XML for Analysis(XMLA)开发详解-(2)XMLA介绍
- [导入]XML for Analysis(XMLA)开发详解-(1)内容简介及目录
- [导入]XML for Analysis(XMLA)开发详解-(4)XMLA over TCP/IP访问Analysis Services 2005/2008 Olap的释疑
- [导入]XML for Analysis(XMLA)开发详解-(3)各版本的SQL Server及Windows下配置XMLA over HTTP访问SASS(OLAP)的文档合集
- [导入]XML for Analysis(XMLA)开发详解-(2)XMLA介绍
- XML for Analysis(XMLA)开发详解-(3)各版本的SQL Server及Windows下配置XMLA over HTTP访问SASS(OLAP)的文档合集
- XML for Analysis(XMLA)开发详解-(4)XMLA over TCP/IP访问Analysis Services 2005/2008 Olap的释疑
- XML for Analysis(XMLA)开发详解-(1)内容简介及目录
- python开发之for循环操作实例详解
- python开发之for循环操作实例详解
- Simple API for XML(SAX)详解与实例
- Android GZip的使用-开发中网络请求的压缩实例详解
- javascript解析ajax返回的xml和json格式数据实例详解
- jquery ajax请求返回xml,html,text,json,..数据实例详解
- springmvc接收xml数据格式请求详解