データベースを更新して、更新結果を返す処理をSOAPのWebサービスとして公開したい
キーワード:Webサービス,Webアプリケーション,Webサービストリガー,SOAP,データベース
シナリオ一覧に戻る
概要
データベース更新処理をSOAPのWebサービスとして公開したい場合、Webサービストリガーを使用します。
SOAPクライアントから受け取った値を、データベースに書き込みます。
実行結果を戻り値としてSOAPクライアントに返します。
本スクリプトは逆引きリファレンス「SOAPでデータベース更新のWebサービスを実行し、更新結果によって処理を分岐したい」よりWebサービスとして呼び出されます。
処理の流れ
サンプルプロジェクトの処理の流れは以下の通りです。
- 「例外監視処理」で例外を監視します。
- 「テーブル書き込み処理」でSOAPクライアントから受け取った値をデータベースに書き込みます。
- 「変数代入処理」でスクリプト変数に実行結果を代入します。
実行結果のイメージについて
ポイントとなる機能
名前 |
説明 |
Webサービストリガー |
Webサービストリガーは、指定したURLに対しWebサービスによるリクエストを送ることで、スクリプトを実行するトリガー機能です。 |
処理のポイント
SOAPクライアントからWebサービストリガーで値を受け取る場合、スクリプト入力変数を使用します。
SOAPクライアントへWebサービストリガーから値を返す場合、スクリプト出力変数を使用します。
実行結果をSOAPクライアントへ返すため、エラーを監視し、スクリプト出力変数に実行結果となる値を設定します。
サンプルプロジェクトの使用方法
上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。
サンプルプロジェクトファイル名 |
rl_reference_049.zip |
- サンプルプロジェクトの展開
サンプルプロジェクトファイル「rl_reference_049.zip」を展開します。
- プロジェクトのアップロード
「rl_reference_049.zip」を展開後に作成される「rl_reference_049プロジェクト」ディレクトリがプロジェクトファイルとなります。
DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_049プロジェクト」をアップロードしてください。
- グローバルリソースの設定
コントロールパネルの[グローバルリソースの設定]から、[新しいグローバルリソースの追加]を選択し、SQL Serverのグローバルリソースを追加します。
グローバルリソースの設定方法については、「グローバルリソースのプロパティ」を参照してください。
- プロジェクトをサービスとして登録
スクリプトをWebサービストリガーより実行するため、プロジェクトをサービスとして登録します。
デザイナの[ファイル]-[プロジェクトをサービスとして登録]を選択して登録します。
サービス名は、「root@rl_reference_049プロジェクト」を設定します。
- Webサービストリガーの設定
マイトリガーの画面から[ファイル]-[新規トリガー作成]を選択し、Webサービストリガーを追加します。
Webサービストリガーの詳細については、「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」と入力します。 |
「文字列」-「基本」-「単一行文字列定数」 |
処理のポイント
- データベースへの書き込みが成功した場合の実行結果を代入します。
- 本シナリオでは以下の値を正常終了時の実行結果とします。
|
- スクリプトを実行し、正常終了すれば成功です。