JavaScript を介して XML/A アクセスを提供するライブラリを維持しています: 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>
要素には非常に貴重な情報が含まれていることがよくあります。たとえば、general<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 プロバイダーのサンプルしか提供できない場合は、それも大歓迎です。ありがとうございました!