データベースを更新して、更新結果を返す処理をSOAPのWebサービスとして公開したい
キーワード:Webサービス,Webアプリケーション,Webサービストリガー,SOAP,データベース
概要
データベース更新処理をSOAPのWebサービスとして公開したい場合、Webサービストリガーを使用します。サンプルプロジェクトの説明
SOAPクライアントから受け取った値を、データベースに書き込みます。実行結果を戻り値としてSOAPクライアントに返します。


処理の流れ
サンプルプロジェクトの処理の流れは以下の通りです。- 「例外監視処理」で例外を監視します。
- 「テーブル書き込み処理」でSOAPクライアントから受け取った値をデータベースに書き込みます。
- 「変数代入処理」でスクリプト変数に実行結果を代入します。

- 実行結果は、Webサービストリガーを使用して公開した本スクリプトを「Webサービス実行処理」で呼び出すことで確認可能です。
実行結果については、逆引きリファレンス「SOAPでデータベース更新のWebサービスを実行し、更新結果によって処理を分岐したい」の実行結果を参照してください。
ポイントとなる機能
名前 | 説明 |
---|---|
Webサービストリガー | Webサービストリガーは、指定したURLに対しWebサービスによるリクエストを送ることで、スクリプトを実行するトリガー機能です。 |
処理のポイント
SOAPクライアントからWebサービストリガーで値を受け取る場合、スクリプト入力変数を使用します。SOAPクライアントへWebサービストリガーから値を返す場合、スクリプト出力変数を使用します。
実行結果をSOAPクライアントへ返すため、エラーを監視し、スクリプト出力変数に実行結果となる値を設定します。
サンプルプロジェクトの使用方法
上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。サンプルプロジェクトのダウンロード | 逆引きリファレンス シナリオ049のサンプルプロジェクト |
---|
- サンプルプロジェクトの展開
サンプルプロジェクトファイル「rl_reference_049.zip」を展開します。 - プロジェクトのアップロード
「rl_reference_049.zip」を展開後に作成される「rl_reference_049プロジェクト」ディレクトリがプロジェクトファイルとなります。
DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_049プロジェクト」をアップロードしてください。 - グローバルリソースの設定
コントロールパネルの[グローバルリソースの設定]から、[新しいグローバルリソースの追加]を選択し、SQL Serverのグローバルリソースを追加します。
グローバルリソースの設定方法については、DataSpider Servistaヘルプの「グローバルリソースのプロパティ」を参照してください。
- プロジェクトをサービスとして登録
スクリプトをWebサービストリガーより実行するため、プロジェクトをサービスとして登録します。
デザイナの[ファイル]-[プロジェクトをサービスとして登録]を選択して登録します。
サービス名は、「root@rl_reference_049プロジェクト」を設定します。 - Webサービストリガーの設定
マイトリガーの画面から[ファイル]-[新規トリガー作成]を選択し、Webサービストリガーを追加します。
Webサービストリガーの詳細については、DataSpider Servistaヘルプの「Webサービストリガー」を参照してください。
Webサービストリガーの設定は、以下のように行います。[Webサービストリガーの設定]
[実行内容の設定]
処理のポイント
- SOAPクライアントからWebサービストリガーへ値を渡す場合の要素名は[スクリプト引数]に設定された変数名と同名を使用してください。
- SOAPクライアントでWebサービストリガーから値を受け取る場合の要素名は[スクリプト出力]に設定された変数名と同名を使用してください。
スクリプトの作成手順

- Webサービストリガーの入出力変数として使用するスクリプト変数を作成します。
- スクリプト変数のプロパティは、以下のように設定します。
スクリプト変数のプロパティ
変数名 変数型 初期値 スクリプト入力変数として使用する スクリプト出力変数として使用する id 文字列型 チェックを入れる チェックを外す name 文字列型 チェックを入れる チェックを外す price 整数型 チェックを入れる チェックを外す status 整数型 チェックを外す チェックを入れる message 文字列型 チェックを外す チェックを入れる
- スクリプト変数のプロパティは、以下のように設定します。
- デザイナのツールパレット「変換」-「基本」-「マッピング」から、マッピング処理をスクリプトキャンバスに配置します。
- デザイナのツールパレット「データベース」-「SQL Server」-「テーブル書き込み」から、テーブル書き込み処理をスクリプトキャンバスに配置します。
- テーブル書き込み処理の設定は、以下のように行います。
[必須設定]タブ
- テーブル書き込み処理の設定は、以下のように行います。
- マッピング処理のMapperエディタを開き、スクリプト入力変数の値をテーブル書き込み処理の入力スキーマにマッピングする処理を作成します。
- マッピングキャンバスは、以下のように設定します。
マッピングキャンバス
- マッピングキャンバスは、以下のように設定します。
- デザイナのツールパレット「基本」-「フロー」-「例外監視」から、例外監視処理をスクリプトキャンバスに配置します。
- デザイナのツールパレット「基本」-「処理」-「変数代入」から、変数代入処理(「variable」)をスクリプトキャンバスに配置します。
- 変数代入処理(「variable」)のMapperエディタを開き、実行結果をスクリプト変数に代入する処理を作成します。
- マッピングキャンバスは、以下のように設定します。
マッピングキャンバス
番号 ロジック名 説明 ツールパレット上の場所 (1) 数値定数 数値定数を出力します。
[必須設定]タブの[数値]には「10」と入力します。「数値」-「基本」-「数値定数」
処理のポイント
- データベースへの書き込みでエラーが発生した場合の実行結果を代入します。
- 本シナリオでは以下の値をエラー発生時の実行結果とします。
status 10 message コンポーネント変数「error_message」の値
- マッピングキャンバスは、以下のように設定します。
- デザイナのツールパレット「基本」-「処理」-「変数代入」から、変数代入処理(「variable(1)」)をスクリプトキャンバスに配置します。
- 変数代入処理(「variable(1)」)のMapperエディタを開き、実行結果をスクリプト変数に代入する処理を作成します。
- マッピングキャンバスは、以下のように設定します。
マッピングキャンバス
番号 ロジック名 説明 ツールパレット上の場所 (1) 数値定数 数値定数を出力します。
[必須設定]タブの[数値]には「0」と入力します。「数値」-「基本」-「数値定数」 (2) 単一行文字列定数 単一行文字列定数を出力します。
[必須設定]タブの[一行文字列]には「SUCCESS」と入力します。「文字列」-「基本」-「単一行文字列定数」
処理のポイント
- データベースへの書き込みが成功した場合の実行結果を代入します。
- 本シナリオでは以下の値を正常終了時の実行結果とします。
status 0 message SUCCESS
- マッピングキャンバスは、以下のように設定します。
- スクリプトを実行し、正常終了すれば成功です。