エンティティおよびコレクション構成Webサービスについて

このWebサービスでは、エンティティ、コレクションおよびフィルタ・ルールを作成および管理できます。

概要

エンティティおよびコレクション構成Webサービスは、バインディングのラップされたドキュメント/リテラル・パターンもサポートするWS-I準拠のSOAP/HTTP Webサービスです。このサービスは、sconfig.wsdlで宣言されます。

サービスのWSDLドキュメントを表示するには、次のコマンドを発行します。
http://host:<port>endeca-server/ws/sconfig/dataDomain?wsdl
hostportはOracle Endeca Serverのホストとポートを表し、dataDomainは、エンティティ、コレクションまたはフィルタ・ルールが管理されるデータ・ドメインの名前になります。
次の例に示すように、サービスのバージョンはWSDLに含まれるネームスペースの1つにリストされます(この例のバージョンは実際にインストールされているサービスのバージョンと一致しない場合があります)。
xmlns:v3_0="http://www.endeca.com/endeca-server/sconfig/3/0"
この例では、3がメジャー・バージョン、0がマイナー・バージョンです。複数のマイナー・バージョンがサポートされている場合は、WSDLドキュメントの固有のネームスペースにリストされます。

操作の詳細とスキーマ要素については、Oracle Endeca Server APIリファレンスを参照してください。

操作の説明

エンティティおよびコレクション構成Webサービスへのリクエストは、操作によって決まります。これらの操作により、エンティティ、コレクションおよびフィルタ・ルールに対してアクションを実行します。

put操作を含むエンティティおよびコレクション構成Webサービス・リクエストの効果は、このデータ・ドメインのエンティティ、コレクションまたはフィルタ・ルールを追加することです。作成後、各エンティティ、コレクションまたはフィルタ・ルールは、Endecaデータ・ドメイン内の単一の論理レコードとして表されます。これらのレコードをディスク上に格納すると、起動時にDgraphプロセスにロードされるため、レコードはEndecaデータ・ドメインの再起動後も永続化されます。

リクエスト

エンティティおよびコレクション構成Webサービスへの入力は、使用される操作によって決まります。たとえば、この中には、put操作の場合はエンティティを定義するキーとEQL文を含め、deleteEntities操作の場合はキーのみを含め、validate操作の場合はエンティティの定義を含めることができます。

エンティティおよびコレクション構成Webサービスに対するリクエストには、外部トランザクションのIDを指定するオプション要素のOuterTransactionIdを含めることができます(トランザクションがトランザクションWebサービスによって開始されている場合)。次の文で、構成リクエストと外部トランザクションのやり取りを説明します。
  • 外部トランザクションがトランザクションWebサービスによって開始された場合、リクエストはトランザクション内部の索引ファイルの最新バージョンまたは索引ファイルのトランザクション前のバージョンに対して実行できます。
    • 最新バージョンに対してリクエストを実行するには、リクエスト内のOuterTransactionId要素で、トランザクションの開始時にトランザクションWebサービスが発行したIDを指定する必要があります。この要素は、リクエストで最初に指定する要素である必要があります。
    • 発行済バージョン(外部トランザクションより前に発行されたバージョン、または外部トランザクションがコミットまたはロールバックされた後に発行されたバージョン)に対して実行するには、OuterTransactionId要素を空にするか省略する必要があります。

外部トランザクションが進行中でないときに外部トランザクションIDを指定することは正しくありません。外部トランザクションIDが間違って指定されたすべての構成リクエストはSOAPフォルトで失敗します。

レスポンス

エンティティおよびコレクション構成Webサービスのすべての操作がデータを返すわけではありません。

操作でデータが返される場合、レスポンスは結果要素であり、送信された各操作によって、固有の結果を示す要素がその中に生成されます。

いずれかの操作が成功しない場合は、Webサービス・トランザクション全体がSOAPフォルトを返し、操作はどれも適用されません。外部トランザクションがトランザクションWebサービスで開始され、エンティティおよびコレクション構成Webサービスに送信されたリクエストに間違ったIDが指定されていた場合は、操作に成功しないことがあります。