トランスフォーメーション > ソーストランスフォーメーション > Webサービスソース
  

Webサービスソース

ソーストランスフォーメーションにWorkday v2などのWebサービスコネクタを使用できます。
通常、Webサービスからのデータは階層構造です。例えば、Workday v2ソース接続を使用する場合、データは階層構造のXMLとして渡されます。
ソーストランスフォーメーションのWebサービス接続を選択するときに、次の手順を実行してトランスフォーメーションを設定します。
  1. 1Webサービス操作を選択します。
  2. 2要求メッセージをカスタマイズしてデータフローから不要なデータを取り除きます。
  3. 3階層データ構造をリレーショナル構造にマッピングします。
例えば、リレーショナルデータベースターゲットを使用したマッピングにWorkdayのワーカー情報を含めるとします。ソーストランスフォーメーションを作成し、Workday接続を選択します。Get_Workers操作を選択します。この操作は、定義されたXML構造でワーカーデータを取得します。名前と連絡先情報のみがデータに入力されるように詳細フィルタを定義します。ワーカーデータのリレーショナル構造を定義してから、フィールドをターゲットデータベースのフィールドにマッピングします。

ソースのWebサービス操作

操作によって、Webサービス接続から渡すデータセットが決定され、階層データ構造が定義されます。
Webサービス接続のソースのプロパティを定義するときに、Webサービス操作を選択します。使用可能な操作は、接続によって決定されます。例えば、Workday接続の場合、Get_Workersが使用可能な操作です。

要求メッセージ

Webサービス操作には、マッピングでは使用しないデータが含まれていることがよくあります。操作に対してデフォルトの要求メッセージを使用するか、要求メッセージをカスタマイズしてデータフローを入力するデータを指定できます。
要求メッセージはXML形式です。要求メッセージに必要な書式設定が含まれるテンプレートを使用してカスタマイズできます。要求メッセージテンプレートには、選択した操作のコンテンツが表示されます。
[要求メッセージの編集]ダイアログボックスに、要求メッセージテンプレートと要求メッセージエディタペインが表示されています。エディタペインで要求メッセージを変更できます。
テンプレートをコピーして要求メッセージエディタペインに貼り付けてから、メッセージを変更します。
例えば、2016年1月1日から2016年3月31日に行われたトランザクションを含める場合、次の図に示されるように要求メッセージにEffective_FromとEffective_Throughの値を入力します。
Effective_FromとEffective_Throughの日付を含めるように変更された要求メッセージの例が表示された要求メッセージエディタペイン。
要求メッセージは、入出力パラメータを使用してパラメータ化できます。例えば、メッセージで特定のEffective_FromとEffective_Throughの日付を使用する代わりに、$$Effective_Fromと$$Effective_Throughのパラメータを使用できます。入出力パラメータは、要求メッセージで使用する前に[パラメータ]パネルで作成する必要があります。
入出力パラメータの詳細については、「マッピング」の「パラメータ」セクションを参照してください。
要求メッセージには必ず整形式のXMLを使用してください。メッセージを検証して、XMLが操作に必要な構造と一致することを確認できます。

Webサービスソースのフィールドマッピング

応答フィールドを出力グループと出力フィールドのリレーショナル構造にマッピングできます。
[フィールドマッピング]タブに表示される応答には、ソースから取得するデータの階層構造が表示されます。
[応答]領域のフィールドを選択すると、生成されたプライマリキーと外部キーとともにそのフィールドがリレーショナル構造の[出力フィールド]領域に表示されます。例えば、[応答フィールド]領域でFirst_NameとLast_Nameを選択し、階層内の異なる親にあるEmail_Addressを選択します。次の画像のように、[出力フィールド]領域の構造は割り当てられたプライマリキーと外部キーのあるリレーショナル構造になっています。
[出力フィールド]領域には、プライマリキーと外部キーが表示されます。
応答フィールドをリレーショナル構造にマッピングする場合、カーディナリティを考慮してください。カーディナリティにより、XML構造の特定のポイントにおけるフィールドまたはグループの出現回数の制約が適用されます。カーディナリティが0-多の場合、フィールドまたはグループの出現回数が0回以上になります。カーディナリティが1-1の場合、フィールドまたはグループが必須で、その出現回数は1回のみになります。
カーディナリティが0-1または1-1のフィールドをマッピングする場合、カーディナリティが0-多の最初の親ノードもマッピングされます。カーディナリティが0-多の親グループが存在しない場合、システムによって作成されます。例えば、カーディナリティが0-1のEmail_Commentをマッピングすると、カーディナリティが0-多のEmail_Address_Dataグループが自動的にマッピングされます。