REST V2コネクタ > REST V2コネクタを使用したマッピングとマッピングタスク > マッピングにおけるRESTソーストランスフォーメーション
  

マッピングにおけるRESTソーストランスフォーメーション

ソーストランスフォーメーションを設定する際、REST V2接続を選択し、Webサービスソースを表す操作を指定します。
接続を通してソース操作を選択できます。要求メッセージテンプレートを使用して要求メッセージを作成します。要求XMLで入力値をパラメータ化できます。ページング属性を設定します。
応答構造は、フィールドマッピングに表示できます。応答構造の要素を出力フィールドにマッピングすると、Secure Agentは出力グループを作成し、加えて、フィールド名のプライマリキーと外部キーを作成します。マッピングタスクでマッピングをデプロイし、そのタスクを実行すると、Secure AgentがWebサービスからデータを読み取ります。

詳細ソースプロパティ

マッピングで、Webサービスアプリケーションソースを表すソースを設定できます。マッピングで使用されるRESTソース接続に対して、Mapping Designerの[ソース]タブで詳細プロパティを設定できます。
以下の表に、ソースに設定できる詳細プロパティを示します。
プロパティ
説明
ページングタイプ
次のいずれかの値を指定します。
ページ。ページングを有効にして、[ページパラメータ]、[開始ページ]、[終了ページ]、[応答終了式]の各プロパティ値を考慮します。
なし。[ページパラメータ]、[開始ページ]、[終了ページ]、[応答終了式]のプロパティ値を無視します。
ページパラメータ
ページング操作で使用するパラメータの名前。クエリパラメータまたはパスパラメータを使用できます。
パラメータは整数型で、要求メッセージから抽出されます。
開始ページ
ページ操作の実行範囲の最初のページを示すページ番号。
終了ページ
ページ操作の実行範囲の最後のページを示すページ番号。デフォルトは10000です。
ページングは、終了ページに達するか、応答終了式が満たされると停止します。
ページ増分ファクタ
ページパラメータを増分する整数。ページ増分ファクタは、要求ごとにフェッチされるレコード数と同じにする必要があります。ページ増分ファクタオプションが、要求ごとにフェッチされるレコード数と同じでない場合、2つのコール間でレコードがなかったり重複したりすることが発生します。
応答終了式
ページングを制御する式または文字列を指定します。次のいずれかの動作になります。
  • - 文字列または式を指定した場合、値がページ応答と一致すると、ページングが停止します。応答終了と一致するページは解析されません。
  • - 文字列も式も指定しない場合、空のページかNull応答に到達したところでページングが停止します。空のページまたはNull応答が発生しない場合、ページングはデフォルトの終了ページで停止します。
  • - 終了ページと応答終了式の両方を指定すると、先に満たされた条件に応じてページングが停止します。
  • - 終了ページも応答終了式も指定しない場合、空のページかNull応答に到達したところでページングが停止します。空のページまたはNull応答が発生しない場合、ページングはデフォルトの終了ページで停止します。
URLの上書き
Swagger仕様で指定されているURLを上書きします。URLの上書きではクエリパラメータを使用できません。パスパラメータを[URLの上書き]に含める場合は、パスパラメータを中かっこ{}で囲むようにしてください。例:
Swagger仕様で指定されているURL: http://invr28pers102:13080/sample/day/20170505?a:b
20170505をパス変数として変数名をpath1と定義すると、URLの上書きにより、http://invr28pers102:13080/sample/day/{path1}のようになります。
トレースレベル
ソースのログに表示される情報の量。
以下のトレースレベルを使用します。
  • - 簡易
  • - ノーマル
  • - 詳細 - 初期化
  • - 詳細
デフォルトは[ノーマル]です。
Webサービス応答のキャッシュサイズ(KB)
Webサービス応答で利用可能なメモリ。
Webサービス応答に多数の行またはカラムが含まれている場合は、キャッシュサイズを大きくします。デフォルトは1024 KBです。最大は99999KBです。

応答終了式のサンプル

ページングに対して応答終了式を使用します。次のスニペットはページのサンプル応答です。
{
"code": "SUCCESS",
"validationResult": [],
"systemErrors": [],
"patientResponseData": [],
"count": 0,
"message": "Unable to retrieve the implant details"
}
応答終了式に対して、文字列「Unable to retrieve the implant details」を使用できます。応答ページで複数の条件を一致させる必要がある場合は、次の式を使用できます。
(.*)"patientResponseData": [](.*)Unable to retrieve the implant details
上記の式では、ページ応答で「"patientResponseData": []」と「Unable to retrieve the implant details」の両方の条件が満たされたところでページングが停止するようになっています。

RESTソースマッピングの例

人事部長が、従業員の姓、名、電子メール、電話番号といった連絡先情報をApache CouchDBからフラットファイルに抽出しようとしています。
    1REST接続を作成します。接続プロパティで、Swagger仕様ファイルの絶対パスまたはホストされたURL、および認証方法を指定していることを確認します。
    次の図は、設定されたREST接続を示しています。
    2フラットファイルにデータを書き込むためのフラットファイル接続を作成します。
    3RESTマッピングを作成します。
    次の図に、RESTマッピングを示します。
    4ソーストランスフォーメーションを追加します。全般プロパティで名前と説明を指定します。
    5[ソース]タブで、次の手順を実行します。
    1. a[接続]フィールドで、Couchデータベースに接続するための設定済みREST接続を選択します。
    2. b[操作]フィールドで、CouchDBを操作として選択します。
    3. 次の図に、CouchDB操作を示します。
    4. c[要求オプション]セクションで、要求メッセージを次のXML形式で設定し、メッセージ内の属性を指定して、メッセージを検証します。
    5. <!--1 or more repetitions:-->
      <proc:CouchDB_INPUT xmlns:proc="http://xml.schemas/infa/procedure/">
      <!--Optional:-->
      <CouchDB>
      <!--1 or more repetitions:-->
      <emp>
      $$empID
      </emp>
      </CouchDB>
      </proc:CouchDB_INPUT>
      要求メッセージが、指定の従業員IDに基づいて従業員の詳細をフェッチします。
    6. d[詳細プロパティ]セクションで、トレースレベルを[ノーマル]に設定し、デフォルトのキャッシュサイズ1024 KBを使用します。
    6[フィールドマッピング]タブで、応答構造から、出力フィールドにマッピングする_idFirstNameLastNameなどの要素を選択します。
    次の図は、左側のペインの階層形式の応答構造と、右側のペインのリレーショナル形式の出力グループを示しています。
    Secure Agentは、2つの出力グループworkPhoneNumberとcouchDB_outを作成します。これが2つのリレーショナル出力ファイルになります。プライマリキーと外部キーが自動的に生成されます。
    73つのターゲットトランスフォーメーションを追加し、各トランスフォーメーションに対してターゲットオブジェクトを指定します。以下の手順を実行します。
    1. a各ターゲットトランスフォーメーションに対して、フラットファイルにデータを書き込むためのフラットファイル接続を選択します。
    2. bターゲットにデータを書き込むためのターゲットオブジェクトとしてworkPhoneNumber.csvファイル、couchDB_out.csvファイル、NewTarget.csvファイルを作成します。
    3. cターゲットオブジェクトに関連付ける出力グループをCouchDBから選択します。
    8式トランスフォーメーションを追加して、SetVariable関数とパラメータ化値$$empIDを式に含め、タスクが、各実行の終了時に1ずつempID値を更新するようにします。
    次の図は、入出力パラメータを利用する、設定済みの式を示しています。
    9[新規] > [タスク] > [マッピングタスク]の順にクリックして、タスクに対してマッピングを選択します。
    10マッピングタスクを保存して実行すると、Secure Agentは、CouchDBから従業員レコードを取得し、対応するフラットファイルにそのデータを書き込みます。