Workday Connector 16.2 の例 - Mule 4

次の例は、Anypoint Studio を使用して Workday Connector を設定する方法を示しています。

始める前に

以下が必要です。

  • Workday へのアクセス

  • Workday のユーザー名、パスワード、テナント名

Workday 財務管理局に資金を追加する

この例では、​Invoke​ 操作を使用して、資金を Workday 財務管理サービスに挿入します。

HTTP リスナーを設定する

ローカルホストポート 8081 で ​/​ アカウントパスへのコールが行われたときに Mule フローを開始するように ​HTTP リスナー​を設定します。

この例では一部の項目値に変数を使用しています。次のいずれかを実行できます。

  • コード内で変数を値に置き換える。

  • プロパティファイルで各変数の値を指定しておき、コネクタ設定からそのファイルを参照する。

プロパティファイルの使用方法についての詳細は、​「プロパティプレースホルダーの設定」​を参照してください。

HTTP リスナー​を設定するには、次の手順に従います。

  1. Studio で新しい Mule プロジェクトを作成します。

  2. [Mule Palette (Mule パレット)]​ ビューで「​http​」を検索し、​[Listener]​ 操作を選択します。

    [Mule Palette (Mule パレット)] ビューで Listener 操作を選択します。

    "[Mule Palette (Mule パレット) 内で選択されている Listener コンポーネント"]

  3. [Listener]​ 操作をキャンバスにドラッグします。

  4. Listener​ 設定で、​[Connector configuration (コネクタ設定)]​ 項目の横にある ​[+]​ をクリックしてグローバル要素を追加します。

  5. [OK]​ をクリックして、デフォルトを受け入れます。

  6. [Path (パス)]​ 項目を ​/​ に設定します。

    プロパティウィンドウ内の [Listener (リスナー)] 設定
    Figure 1. Listener 設定で [Path (パス)] 項目を設定します。

Transform Message コンポーネントを追加してメタデータを添付する

Transform Message​ コンポーネントを追加および設定する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)]​ ビューで、​transform​ を検索して ​[Transform Message]​ を選択します。

    [Mule Palette (Mule パレット)] 内で選択されている Transform Message コンポーネント
    Figure 2. [Mule Palette (Mule パレット)] ビューで [Transform Message] を選択します。
  2. Transform Message​ コンポーネントをキャンバスの ​Listener​ コンポーネントの右にドラッグします。

  3. Transform Message​ 設定で、​[Output (出力)]​ セクションの括弧を次の XML で上書きします。

    %dw 2.0
    output application/xml
    ns ns0 urn:com.workday/bsvc
    ---
    {
      ns0#Put_Fund_Request @(ns0#Add_Only: true, ns0#version: "v36.0"): {
        ns0#Fund_Data: {
          ns0#Fund_Name: "I.M.F",
          ns0#Fund_Type_Reference: {
            ns0#ID @(ns0#'type': 'Fund_Type_ID'): "FUND_TYPE-6-3"
          }
        }
      }
    }
    dataweave

次の XML は、​Transform Message​ コンポーネントの入力例を示しています。

<ns0:Put_Fund_Request xmlns:ns0="urn:com.workday/bsvc" Add_Only="true" version="v36.0">
  <ns0:Fund_Data>
    <ns0:Fund_Name>I.M.F</ns0:Fund_Name>
    <ns0:Fund_Type_Reference>
      <ns0:ID type="Fund_Type_ID">FUND_TYPE-6-3</ns0:ID>
    </ns0:Fund_Type_Reference>
  </ns0:Fund_Data>
</ns0:Put_Fund_Request>
xml

次のスクリーンショットは、​Transform Message​ 設定の ​[Output (出力)]​ セクションに表示される出力を示しています。

Transform Message の出力
Figure 3. Transform Message 設定の出力

財務管理操作を追加および設定する

  1. [Mule Palette (Mule パレット)]​ ビューで ​workday​ を検索し、​[Financial management]​ 操作を選択します。

  2. Financial management​ 操作をキャンバスの ​Transform Message​ コンポーネントの右にドラッグします。

  3. Financial management​ 設定で、​[Connector configuration (コネクタ設定)]​ 項目の横にある ​[+]​ をクリックしてグローバル要素を追加します。

  4. 次のようにグローバル要素を設定します。

    • Configuration Name (設定名)​: My_Workday_Connection

    • Connection (接続)​: Basic authentication api

    • Password (パスワード)​: ${workday.password}

    • Host Name (ホスト名)​: デフォルトのまま ​impl-cc.workday.com

    • Tenant Name (テナント名)​: ${workday.tenantName}

    • Username (ユーザー名)​: ${workday.userName}

  5. [Test Connection (テスト接続)]​ をクリックして、でユーザー名、パスワード、テナント名が正しいことを確認します。

  6. [OK]​ をクリックします。

  7. プロパティウィンドウの ​[Operation (操作)]​ 項目で ​Put_Fund​ を選択します。

Mule コンソールに応答を出力するロガーを追加する

  1. [Mule Palette (Mule パレット)]​ ビューで、​logger​ を検索して ​[Logger (Core) (Logger (コア))]​ を選択します。

  2. Logger​ コンポーネントを、キャンバスの ​[Financial management]​ コンポーネントの右にドラッグします。

  3. 次の項目を設定します。

    項目 Value (値)

    Display Name (表示名)

    「​Log Response​」と入力します。

    Message (メッセージ)

    「​`​#[payload]​`​」と入力します。

    Level (レベル)

    デフォルト (​INFO​) のままにします。

  4. プロジェクトを保存します。

  5. ポート 8081 で ​/​ に要求を送信してアプリケーションをテストします。

  6. 次のような XML 応答を受信します。

<wd:Put_Fund_Response xmlns:wd="urn:com.workday/bsvc" wd:version="v36.0">
    <wd:Fund_Reference wd:Descriptor="I.M.F">
        <wd:ID wd:type="WID">THE_WID_ID_NUMBER</wd:ID>
        <wd:ID wd:type="Fund_ID">FUND-6-399</wd:ID>
    </wd:Fund_Reference>
</wd:Put_Fund_Response>
xml

財務管理例の XML

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。

Workday 位置要求を作成する

Workday 位置要求を作成する手順は次のとおりです。

  1. Studio で Mule アプリケーションを作成します。

  2. HTTP リスナーをフローのソースとして追加して設定します。

  3. [Path (パス)]​ 項目を ​/create_position​ に設定し、HTTP リスナーの接続にデフォルトの設定を使用します。

  4. [Transform]​ コンポーネントをフローに追加します。

  5. この変換スクリプトを DataWeave に提供します。

  6. [Mule Palette (Mule パレット)]​ ビューから、コネクタを選択して ​[Recruiting]​ 操作を ​[Transform]​ の横にドラッグします。

  7. プロパティウィンドウで以下を行います。

    • [Operation (操作)]​ 項目で ​Create_Position​ を選択します。

      [Operation (操作)]​ 項目の値がメニュー項目として表示されていることを確認します。値は、コネクタがメタデータを読み込むと使用可能になります。値を手動で入力しないでください。

    • [Content (コンテンツ)]​ 項目をデフォルトの ​payload​ のままにします。

  8. 次の例のように、Workday サーバーへの接続のための Workday 設定をセットアップし、テストして、保存します。

    • Name (名前)​: My Workday Config

    • Connection (接続)​: Basic Authentication Api

    • Username (ユーザー名)​: my_user_name

    • Password (パスワード)​: my_password

    • Tenant Name (テナント名)​: my_tenant_name

    • Host Name (ホスト名)​: impl-cc.workday.com

    接続に失敗した場合テストは、無効な接続パラメーターを確認して修正し、接続をもう一度テストしてください。

  9. Logger​ コンポーネントをフローに追加して ​payload​ をメッセージとして設定します。

  10. アプリケーションをデプロイして実行します。

  11. アプリケーションをテストするため、ブラウザーまたは cURL などのアプリケーションから ​http://<Deployment_url>:8081/create_position​ に PUT 要求を実行します。

    リクエストボディに次の入力を使用します。

Workday は次のように応答します。

<wd:Create_Position_Response xmlns:wd="urn:com.workday/bsvc" wd:version="v36.0">
  <wd:Event_Reference>
  <wd:ID wd:type="WID">WID_VALUE</wd:ID>
  </wd:Event_Reference>
  <wd:Position_Reference>
    <wd:ID wd:type="WID">WID_VALUE</wd:ID>
    <wd:ID wd:type="Position_ID">P-11158</wd:ID>
  </wd:Position_Reference>
</wd:Create_Position_Response>
xml

ロガーは次のメッセージを表示します。

{Create_Position_Response={Event_Reference={ID=WID_VALUE}, Position_Reference={ID=P-11158}}}
xml