XML / A错误响应:标准是什么?

时间:2014-02-14 11:17:21

标签: olap mondrian xmla essbase msas

我维护了一个提供XML / A访问权限的库javascript:https://github.com/rpbouman/xmla4js

大多数情况下它可以正常工作,但我想改进错误响应的处理。据我所知,XML / A规范可以采用以下形式:

<SOAP-ENV:Envelope>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
  <faultcode>...</faultcode>
  <faultstring>...</faultstring>
  <faultactor>...</faultactor>
  <detail>
     ...
  </detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

但是,我发现至少对于Mondrian(我最熟悉的XML / A提供者)来说,<detail>元素通常包含非常宝贵的信息。例如,一般<faultcode>元素可能会说“datasource not found”这样的泛型,而<detail>元素可能包含以下内容:

    <XA:error xmlns:XA="http://mondrian.sourceforge.net">
      <code>00HSBC01</code>
      <desc>The Mondrian XML: MondrianOneToOneUserRoleListMapper.ERROR_001_ - Access is denied because the roles of this user don&#39;t correspond to any present in the Mondrian schema requested.</desc>
    </XA:error>

这表明一个更具体的条件。

我的问题是,在其他XML / A提供程序的错误响应中是否存在某种模式,我可以使用它来推送我的api并向我的库用户提供更好的错误消息?如果您不了解模式,但只能提供您碰巧可以访问的XML / A提供程序的样本,那么也非常感谢。谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在此处下载XML规范的Microsoft规范:http://msdn.microsoft.com/en-us/library/ee320606.aspx(超过七百页)。

通常,有两种类型的错误:

  • 全局的,阻止请求被执行,或阻止服务器返回任何有用的东西(例如语法错误),
  • 和当地人,e。 G。在对返回通用结果结构的MDX SELECT请求的单个单元格内。在这种情况下,可以返回错误对象e。 G。在一个或几个单元格而不是结果。一个例子是错误,它阻止服务器计算这个特定的单元格值,就像对计算成员定义中未知元素的引用一样。
相关问题