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