[Operations] タブ

このタブには、サービスによって公開されている操作のリストが表示されます。

このダイアログでは、Web サービスの名前の変更 (Web サービスの作成時のみ)、入出力パラメーターの名前の変更または削除、操作の改ページのサポート (「 Pagination Support 」を参照) の追加などを実行できます。

Creating a SOAP Web service: Operations tab

SOAP Web サービスの作成: [Operations] タブ

新しい操作を追加するには、[Server Explorer] からビューまたはストアドプロシージャをこのダイアログにドラッグします。ビューまたはストアドプロシージャは、別のデータベースに属していてもかまいません。これにより、そのクエリ機能が分析されて、Web サービスの「操作候補」が生成されます。これらの操作には、以下の特性があります。

  • 生成される操作の入力パラメーターは、ビューのフィールドまたはストアドプロシージャの入力パラメーターに対応します。 SELECT 操作の戻り値は、エレメントの配列です。この配列の各エレメントは、ビューの 1 行に対応し、各フィールドに対応するサブエレメントが 1 つずつ存在します。

  • ビューが更新可能な場合 (『VQL ガイド』の「 ビューに対する挿入、更新および削除 」を参照)、このビューから行の挿入、更新、および削除を実行するための操作が生成されます。具体的には、以下の操作が生成されます。

    • 挿入操作。ビューのフィールドごとに 1 つのパラメーターがあります。操作には、「insert」の後にビューの名前を付加した名前が付けられます。

    • 削除操作。ビューのフィールドごとに 1 つのパラメーターがあります。操作には、「delete」の後にビューの名前を付加した名前が付けられます。

    • 更新操作。ビューのフィールドごとに 2 つ のパラメーターがあります。1 つはフィールドの名前の付いたパラメーターで、もう 1 つはフィールドの名前に接頭辞「New」が付いたパラメーターです。接頭辞「New」が付いたパラメーターは、新しい値に対応します (UPDATE ステートメントの SET 句)。この接頭辞の付いていないパラメーターは、更新するタプルを選択するために使用します (UPDATE ステートメントの WHERE 句)。操作には、「update」の後にビューの名前を付加した名前が付けられます。

Web サービスの操作に対して以下の変更を実行できます。

  • 操作またはそのパラメーターの名前を変更する: 操作またはパラメーターを右クリックして [Rename] をクリックします。

  • 複合パラメーター (レジスターまたは配列) の型名を変更する: パラメーターを右クリックして [Rename type] をクリックします。型名が非常に長く、この Web サービスを操作するクライアントが影響を受ける場合、名前の変更が必要になることがあります。

  • サーバーに送信されるクエリを構築するために使用する演算子と、この入力パラメーターに渡される値を選択する: 入力パラメーターの名前の横にある演算子をクリックして新しい演算子を選択します。これは、操作のパラメーター P の演算子として <= を選択した場合、クライアントがこの操作を呼び出したときにサーバーに送信されるクエリが SELECT ... WHERE P <= <value>のようになることを意味します。複数の入力パラメーターの演算子を一度に変更するには、パラメーターを選択して右クリックし、[Change operator] をクリックします。選択した新しい演算子は、それを受け入れ可能なパラメーターに適用されます。複数の操作またはパラメーターを選択するには、Ctrl キーまたは Shift キーを押しながら各操作をクリックします。

操作またはそのパラメーターを削除する: 操作またはパラメーターを右クリックして [Drop] をクリックします。

以下に該当する場合は、操作のパラメーターを削除することはできません。

  1. このパラメーターに関連付けられたフィールドを、このパラメーターが必須であるデータソースから取得している場合。たとえば、URL に補間変数が含まれる JSON データソースからデータを取得するビューを公開している場合です。

  2. 公開しているビューでビューパラメーターが使用されている場合。

操作のツリーでエレメントを検索するには、 Ctrl+F キーを押します。

改ページのサポート

大量のデータを返す操作を伴う Web サービスを定義する場合、すべてのデータを同時に取得するのを避けるため、結果を改ページしなければならないことがあります。改ページ機能を使用すると、クライアントはまず最初の 1,000 件の結果をリクエストし、その後で次の 1,000 件というように結果をリクエストすることができます。さらに、Web サービスによって返される行数をクライアントが制限することもできます。

改ページのサポートは操作ごとに追加します。つまり、1 つの Web サービスに複数の操作が存在する場合、すべての操作で改ページがサポートされているとは限りません。

操作に改ページを追加するには、操作を右クリックして [Add pagination] をクリックします。2 つの新しいパラメーター COUNTSTART_INDEX が操作に追加されます (これらのパラメーターの名前は変更可能です)。

  • COUNT は、操作によって返される行の数を制限します。

  • START_INDEX は、結果の 0 行目から <START_INDEX> 行目までをスキップします。

これらの 2 つのパラメーターはオプションです。パラメーターの値が設定されていない場合、操作はその結果をすべて一度に返します。

クライアントが START_INDEX パラメーターと COUNT パラメーターを渡した場合、操作は行番号 <START_INDEX> (最初の行は 0) から <COUNT> 行を返します。

クライアントが COUNT パラメーターだけを渡して、 START_INDEX パラメーターを渡さない場合、Web サービスは結果の最初の <COUNT> 行を返します。

クライアントが START_INDEX パラメーターだけを渡して、 COUNT パラメーターを渡さない場合、Web サービスは結果の <START_INDEX> 行目からすべての行を返します。

後で改ページのサポートを操作から解除する必要が生じた場合、入力パラメーター COUNTSTART_INDEX を右クリックして [Drop] をクリックします。

結果の並べ替え

デフォルトでは、Web サービスの操作は、公開されているビューで順序が設定されている場合は、その順序でデータを返します。ただし、必要に応じて、Web サービスのクライアントが順序を指定できます。このためには、操作を右クリックして [Add order by] をクリックします。特殊なタイプの入力パラメーター「ORDER_BY」が追加されます (この属性の名前は変更可能です)。

Web サービスのクライアントが操作の結果を並べ替えたい場合、次の構文を使用してパラメーター「ORDER_BY」の値を指定する必要があります。

<field name> [ ASC | DESC ] [, <field name> [ ASC | DESC ] ]*

たとえば、 iinc_id ASC, summary DESC と指定します。

<field name> には、ビューのフィールドの名前ではなく、操作の出力フィールドの名前を指定する必要があります。