メイン コンテンツをスキップする 補完的コンテンツへスキップ

サービス操作の設定

このセクションでは、サービス操作をシナリオに合うようにカスタマイズします。

手順

  1. ワークスペースでtMysqlInputをダブルクリックし、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。
  2. 顧客データがMySQLデータベースにロードされるようにtMysqlInputを設定します。[DB version] (DBバージョン)フィールドで、MySQLデータベースのバージョンを選択します。この例ではMysql 5です。関連するフィールドで、次のような接続の詳細を指定します。
    • データベースサーバーのホスト名またはIPアドレス
    • リスニングポート番号
    • データベース名
    • データベース認証のユーザー名とパスワード
  3. [Schema] (スキーマ)[Built-In] (組み込み)に設定し、[Edit schema] (スキーマを編集)をクリックして目的のスキーマを定義します。スキーマエディターが開きます。[+]ボタンをクリックしてStringタイプの行を3つ追加し、カラムにid、Phone、Emailという名前を付けます。[OK]をクリックして、スキーマエディターを閉じます。
  4. [Table Name] (テーブル名)フィールドにデータベーステーブルの名前(この例ではcustomers)を入力します。
  5. [Query] (クエリー)ボックスに、テーブルから目的のカラムを取得するために必要なクエリー(このサンプルでは、idPhoneEmail)を入力します。
  6. デザインワークスペースでtXMLMapをダブルクリックし、エディターを開きます。この時点のエディターは次のような状態です。
  7. 入力フロー側(左)のメインの行テーブルでpayloadという名前のカラムを右クリックし、コンテキストメニューから[Import from Repository] (リポジトリーからインポート)を選択します。[Metadata] (メタデータ)ウィザードが開きます。
  8. このウィザードで[File XML] (XMLファイル)ノードを展開し、リクエスト側のスキーマを選択し、[OK]をクリックして選択を確定します。この例では、スキーマはCustomerServiceOperationRequestです。
  9. 出力フロー側(右)のメインの行テーブルでpayloadという名前のカラムを右クリックし、コンテキストメニューから[Import from Repository] (リポジトリーからインポート)を選択します。[Metadata] (メタデータ)ウィザードでスキーマCustomerServiceOperationResponseを選択し、レスポンスのための階層スキーマをインポートします。
  10. ルックアップデータへの結合を作成するために、入力フロー側(左)のメインの行テーブルでidノードをクリックし、それをクリックしたまま、ルックアップフローのExp.keyカラムにドロップします。これはid行に対応するものです。
  11. ルックアップフローを表すテーブルで右上のレンチアイコンをクリックし、設定パネルを開きます。[Lookup Model] (ルックアップモデル)[Reload at each row] (行ごとにリロード)に設定し、[Match Model] (一致モデル)[All matches] (すべて一致)に設定し、[Join Model] (結合モデル)[Inner join] (内部結合)に設定します。
  12. 出力テーブル(右)で右上のレンチアイコンをクリックして設定パネルを開き、[All in one] (オールインワン)オプションを[true] (真)に設定します。Emailノードを右クリックし、コンテキストメニューで[As loop element] (ループエレメントとして)を選択します。
  13. ルックアップフロー(左)でPhone行をクリックし、それをクリックしたまま[Expression] (式)カラムにドロップします。これは出力フローのXMLツリービューのPhoneノードに対応します。同じようにしてEmailを左側から右側にマップします。

    tXMLMapエディターは次のような状態です。

  14. [OK]をクリックしてエディターを閉じ、この設定を有効にします。

タスクの結果

これでCustomerServiceOperationの実装が完了しました。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。