データベースを検索して、1件の結果を返す処理をSOAPのWebサービスとして公開したい
キーワード:Webサービス,Webアプリケーション,Webサービストリガー,SOAP,データベース
概要
データベース検索処理をSOAPのWebサービスとして公開したい場合、Webサービストリガーを使用して公開します。サンプルプロジェクトの説明
Webサービスクライアントから入力された「共通製品コード」をもとに、製品マスタテーブルのデータを取得します。取得したデータを戻り値としてWebサービスクライアントに渡すため、スクリプト変数に格納します。


処理の流れ
サンプルプロジェクトの処理の流れは以下の通りです。- 「検索系SQL実行処理」でSQL文を用いてデータを読み取ります。
スクリプト入力変数として設定したスクリプト変数「共通製品コード」を検索条件に使用します。 - 「変数代入処理」で取得したデータをスクリプト変数に格納します。

- 実行結果は、Webサービストリガーを使用して公開した本スクリプトをWebサービス実行処理で呼び出すことで確認可能です。
実行結果については、逆引きリファレンス「SOAPでデータベース検索のWebサービスを実行し、1件の検索結果を取得したい」の実行結果を参照してください。
ポイントとなる機能
名前 | 説明 | ツールパレット上の場所 |
---|---|---|
検索系SQL実行処理 | SQL文を用いてデータを読み取ります。 | 「データベース」-「Access」-「検索系SQL実行」 |
処理のポイント
Webサービスクライアントから渡される値と本スクリプトで検索した結果をセットするため、スクリプト変数を作成します。スクリプト変数に入出力の設定を行うことで、Webサービスとして公開した際にWebサービスクライアントと値の受け渡しが可能となります。
サンプルプロジェクトの使用方法
上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。サンプルプロジェクトのダウンロード | 逆引きリファレンス シナリオ044-045のサンプルプロジェクト |
---|
- サンプルプロジェクトの展開
サンプルプロジェクトファイル「rl_reference_044-045.zip」を展開します。 - プロジェクトのアップロード
「rl_reference_044-045.zip」を展開後に作成される「rl_reference_044-045プロジェクト」ディレクトリがプロジェクトファイルとなります。
DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_044-045プロジェクト」をアップロードしてください。
本シナリオに該当するスクリプトは、「rl_reference_044-045プロジェクト」のスクリプト「rl_reference_044」です。
- サンプルデータベースの準備
共通サンプルDBの「sample.zip」を展開し、「Sample.mdb」をODBCのデータソースに登録します。 - グローバルリソースの設定
コントロールパネルの[グローバルリソースの設定]から、[新しいグローバルリソースの追加]を選択し、Accessのグローバルリソースを追加します。
グローバルリソースの設定方法については、DataSpider Servistaヘルプの「グローバルリソースのプロパティ」を参照してください。
- プロジェクトをサービスとして登録
スクリプトをWebサービストリガーより実行するため、プロジェクトをサービスとして登録します。
デザイナから[ファイル]-[プロジェクトをサービスとして登録]を選択して登録します。
サービス名は、「root@rl_reference_044-045プロジェクト」を設定します。 - Webサービストリガーの作成
マイトリガーの画面から[ファイル]-[新規トリガー作成]を選択し、Webサービストリガーを作成します。
Webサービストリガーは、以下のように設定します。[Webサービストリガーの設定]
[実行内容の設定]
スクリプトの作成手順

- Webサービスクライアントから渡される値と本スクリプトで検索した結果をセットするため、スクリプト変数を作成します。
- スクリプト変数のプロパティは、以下のように設定します。
スクリプト変数のプロパティ
変数名 変数型 初期値 スクリプト入力変数として使用する スクリプト出力変数として使用する 共通製品コード 文字列型 チェックを入れる チェックを入れる ローカル製品コード 文字列型 チェックを外す チェックを入れる 製品名 文字列型 チェックを外す チェックを入れる 単価 文字列型 チェックを外す チェックを入れる
- スクリプト変数のプロパティは、以下のように設定します。
- デザイナのツールパレット「データベース」-「Access」-「検索系SQL実行」から、検索系SQL実行処理をスクリプトキャンバスに配置します。
- 検索系SQL実行処理の設定は、以下のように行います。
[必須設定]タブ
[SQL文]は以下のように設定しています。
SELECT
製品マスタテーブル.*
FROM
製品マスタテーブル
WHERE
製品マスタテーブル.共通製品コード ='${共通製品コード}'
- 検索系SQL実行処理の設定は、以下のように行います。
- デザイナのツールパレット「基本」-「処理」-「変数代入」から、変数代入処理をスクリプトキャンバスに配置します。
- 変数代入処理のMapperエディタを開き、データベースより取得したデータをスクリプト変数に格納する処理を作成します。
- マッピングキャンバスは、以下のように設定します。
マッピングキャンバス
処理のポイント
- スクリプト出力変数に格納した値がWebサービストリガーから返されます。
- マッピングキャンバスは、以下のように設定します。
- スクリプトを実行し、正常終了すれば成功です。