11

XML for Analysis(XMLA)开发详解-(5)XMLA请求的格式及实例示意

XMLA请求由多层封包组成,总体结构如下图所示,可对照MSDN了解详情(http://technet.microsoft.com/zh-cn/library/ms186656.aspx):

o_image_4_633616032950767500

其中,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>MDX Query Clause</Statement>)

<Execute>

<Command>…</Command>

<Properties>…</Properties>

<Parameters>…</Parameters>
</Execute>

XMLA SOAP请求实例(已去掉HTTP封包)

下表是一个完整的获取数据源列表的XMLA Discover请求,表的第一列各行分割了XMLA封包的各部分,第二列对应行说明了各部分的含义。

<?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>

soap表头

<Discover xmlns=”urn:schemas-microsoft-com:xml-analysis”
SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”>
<RequestType>DISCOVER_DATASOURCES</RequestType>
<Restrictions>
<RestrictionList>
</RestrictionList>
</Restrictions>
<Properties>
<PropertyList>
<Content>Data</Content>
</PropertyList>
</Properties>
</Discover>

XMLA方法

</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

soap

需要特别注意的是XMLA访问SSAS 2000/2005/2008时存在着细微差异,高版本的SSAS对SOAP封包的属性要求更加严格,而在低版本中却可以做适当忽略。因此,如果在低版本的SSAS下可以运行的XMLA程序在高版本下无法获取结果的话,应该仔细查阅文档并跟踪比较,看看是否由于这个原因导致。

关于返回结果

如果知道完成特定任务的请求序列,关于结果的描述信息可以通过查找MSDN或XMLA SPEC可以轻松的获取。 因此,本系列不打算对XMLA的返回结果进行描述。

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)

相关文章:

  1. XML for Analysis(XMLA)开发详解-(6)Discover方法解析
  2. XML for Analysis(XMLA)开发详解-(7)XMLA Execute方法解析及实例
  3. XML for Analysis(XMLA)开发详解-(2)XMLA介绍
  4. XML for Analysis(XMLA)开发详解-(4)XMLA over TCP/IP访问Analysis Services 2005/2008 Olap的释疑
  5. XML for Analysis(XMLA)开发详解-(1)内容简介及目录

2 条评论了已经

Trackbacks/Pingbacks.

发表评论

名字(必须)
邮箱(必须),(永不被公布)
网址(建议)

字体为 粗体 是必填项目,邮箱地址 永远不会 公布。

允许部分 HTML 代码:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
URLs(网站链接)必须完整有效 (比如: http://www.bi-professional.com),所有标签都必须完整的关闭。

超出部分系统将会自动分段及换行。

请保证评论内容是与日志或 Blog 内容相关的,灌水、攻击性或不恰当的评论 可能 会被编辑或删除。