我维护了一个提供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't correspond to any present in the Mondrian schema requested.</desc>
</XA:error>
这表明一个更具体的条件。
我的问题是,在其他XML / A提供程序的错误响应中是否存在某种模式,我可以使用它来推送我的api并向我的库用户提供更好的错误消息?如果您不了解模式,但只能提供您碰巧可以访问的XML / A提供程序的样本,那么也非常感谢。谢谢!
答案 0 :(得分:0)
您可以在此处下载XML规范的Microsoft规范:http://msdn.microsoft.com/en-us/library/ee320606.aspx(超过七百页)。
通常,有两种类型的错误: