web-dev-qa-db-ja.com

ISS / SSASへのXMLA / DAXリクエストの作成

SSAS 2019に表形式のデータベースがあり、データソースはSQL Server 2019です。XMLAを介してデータを取得する必要があるため、 これらの指示 に従って接続IISからSSASへ。

SOAP ISS with POST method(HTTP call))を介してSSASにリクエストを送信すると、エラーが発生します以下。応答がSOAPメッセージであるという事実は、問題がISSではなくSSASにあると考えさせます.

SOAPを使用せずにSSMSからXMLAを実行すると正常に動作するため、SOAPエンベロープの問題である可能性があります。

エラーをグーグルしようとしたが何も見つからない。これを機能させるには?この解析エラーは何ですか?

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
 <soap:Body>
    <Execute xmlns="urn:schemas-Microsoft-com:xml-analysis">
        <Command>
            <Statement>
                Evaluate DimProduct
            </Statement>
        </Command>
        <Properties>
            <PropertyList>
                <Catalog>TabularProject4</Catalog>
            </PropertyList>
        </Properties>
    </Execute>
 </soap:Body>
</soap:Envelope>

エラー応答:

 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
        <soap:Fault xmlns="http://schemas.xmlsoap.org/soap/envelope/">
             <faultcode>XMLAnalysisError.0xc1270004</faultcode>
             <faultstring>Errors during parsing DIME headers. An unexpected value was 
 encountered in the TYPE field of a chunk record for a DIME message.</faultstring>
             <detail>
                 <Error ErrorCode="3240558596" Description="Errors during parsing DIME 
headers. An unexpected value was encountered in the TYPE field of a chunk record for 
a DIME message." Source="Unknown" HelpFile=""/>
             </detail>
         </soap:Fault>
     </soap:Body>
 </soap:Envelope>

[〜#〜]更新[〜#〜]

SSAS仕様のセクション2.1.1を見てください 、DIMEはバイナリデータレコードを表しますが、SSASがバイナリデータを読み取ろうとしている理由がわかりません。

たとえば、SOAP XML全体を送信する代わりに、<A>xxx</A> DIME形式を解析しようとするため、同じエラーが発生します。

4
ps0604

この問題に対する修正が見つからなかったため、IISでホストされているC#でREST APIサービスを作成しました。C#プログラムはAnalysis Servicesデータベースにアクセスし、DAXステートメントを実行します。データを含むJSONを返します。Javaプログラムは、APIを呼び出すデータを取得します。XMLAが冗長すぎてJSONメッセージが短いため、このソリューションには追加の利点があります。これは、大量のデータ。

0
ps0604