SOAPでデータベース更新のWebサービスを実行し、更新結果によって処理を分岐したい
キーワード:Webサービス,Webアプリケーション,SOAP,Webサービスアダプタ
シナリオ一覧に戻る
概要
SOAPでWebサービスを実行したい場合、Webサービスアダプタを使用します。
Webサービスを実行し、Webサービスからの戻り値によって処理を分岐します。
本スクリプトは逆引きリファレンス「データベースを更新して、更新結果を返す処理をSOAPのWebサービスとして公開したい」をWebサービスとして実行します。
処理の流れ
サンプルプロジェクトの処理の流れは以下の通りです。
- 「Webサービス実行処理」でWebサービスを実行し、実行結果を取得します。
- 「条件分岐処理」でWebサービスの実行結果を判定します。
- Webサービスからの戻り値「status」の値が「0」の場合、処理を正常終了します。
- Webサービスからの戻り値「status」の値が「0」以外の場合、「例外通知処理」で処理を異常終了させます。
実行結果については、以下を参照してください。
- 戻り値の取得結果
スクリプト出力変数名 |
正常終了時の値 |
エラー発生時の値 |
status |
0 |
10 |
message |
SUCCESS |
<エラーメッセージ> |
ポイントとなる機能
名前 |
説明 |
ツールパレット上の場所 |
Webサービス実行処理 |
Webサービスを実行します。 |
「ネットワーク」-「Webサービス」-「Webサービス実行」 |
処理のポイント
Webサービスの実行結果(戻り値)を取得する場合、Webサービス実行処理の出力データを使用します。
サンプルプロジェクトの使用方法
上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。
- サンプルプロジェクトの展開
サンプルプロジェクトファイル「rl_reference_069.zip」を展開します。
- プロジェクトのアップロード
「rl_reference_069.zip」を展開後に作成される「rl_reference_069プロジェクト」ディレクトリがプロジェクトファイルとなります。
DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_069プロジェクト」をアップロードしてください。
スクリプトの作成手順
プロセスフローおよびデータフローは、「サンプルプロジェクトの説明」のスクリプト画像を参照して適宜設定してください。
- Webサービスの実行結果の判定に使用するスクリプト変数を作成します。
- スクリプト変数のプロパティは、以下のように設定します。
スクリプト変数のプロパティ
変数名 |
変数型 |
初期値 |
status |
整数型 |
|
message |
文字列型 |
|
- デザイナのツールパレット「ネットワーク」-「Webサービス」-「Webサービス実行」から、Webサービス実行処理をスクリプトキャンバスに配置します。
- Webサービス実行処理の設定は、以下のように行います。
[必須設定]タブ
- デザイナのツールパレット「変換」-「基本」-「マッピング」から、マッピング処理(「mapping」)をスクリプトキャンバスに配置します。
- マッピング処理(「mapping」)のMapperエディタを開き、Webサービスへ渡す値をWebサービス実行処理の入力スキーマにマッピングする処理を作成します。
- マッピングキャンバスは、以下のように設定します。
マッピングキャンバス
番号 |
ロジック名 |
説明 |
ツールパレット上の場所 |
(1) |
単一行文字列定数 |
単一行文字列定数を出力します。
[必須設定]タブの[一行文字列]には「ID010」と入力します。 |
「文字列」-「基本」-「単一行文字列定数」 |
(2) |
単一行文字列定数 |
単一行文字列定数を出力します。
[必須設定]タブの[一行文字列]には「掃除機」と入力します。 |
「文字列」-「基本」-「単一行文字列定数」 |
(3) |
数値定数 |
数値定数を出力します。
[必須設定]タブの[数値]には「12800」と入力します。 |
「数値」-「基本」-「数値定数」 |
- デザイナのツールパレット「変換」-「基本」-「マッピング」から、マッピング処理(「mapping(1)」)をスクリプトキャンバスに配置します。
- マッピング処理(「mapping(1)」)のMapperエディタを開き、status要素・message要素をスクリプト変数に代入する処理を作成します。
- マッピングキャンバスは、以下のように設定します。
マッピングキャンバス
- デザイナのツールパレット「基本」-「フロー」-「条件分岐」から、条件分岐処理をスクリプトキャンバスに配置します。
- 条件の設定は、以下のように行います。
[必須設定]タブ
- デザイナのツールパレット「基本」-「処理」-「例外通知」から、例外通知処理をスクリプトキャンバスに配置します。
- 例外通知処理の設定は、以下のように行います。
[必須設定]タブ
処理のポイント
- [メッセージ]にスクリプト変数を使用することで、スクリプトを改修せずに動的に設定値を変更することができます。
スクリプト変数は、以下の方法で素早く入力できます。
- 入力フィールドにフォーカスをあてて表示させる変数入力アシスタント機能から選択します。
- 入力フィールドの右クリックメニューで[スクリプト変数]を選択します。
|
- スクリプトを実行し、正常終了すれば成功です。