Anypoint Studio を使用した Microsoft Dynamics 365 Connector 2.6 の設定 - Mule 4

Anypoint Studio (Studio) エディターは、Mule アプリケーション、プロパティ、および設定ファイルの設計と更新に役立ちます。

Studio でコネクタを追加および設定する手順は、次のとおりです。

「アプリケーションログの表示」​で説明されているように、コネクタを実行するときに、アプリケーションログを表示して問題を確認できます。

Studio で初めてコネクタを設定する場合は、​「Anypoint Studio を使用したコネクタの設定」​を参照してください。このトピックを読んだ後でコネクタ項目に関する追加情報が必要な場合は、​「Microsoft Dynamics リファレンス」​を参照してください。

Mule プロジェクトを作成する

Studio で、コネクタを追加および設定する新しい Mule プロジェクトを作成します。

  1. Studio で、​[File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)]​ を選択します。

  2. Mule プロジェクトの名前を入力して、​[Finish (完了)]​ をクリックします。

コネクタを Mule プロジェクトに追加する

Microsoft Dynamics 365 Connector を Mule プロジェクトに追加して、XML コードにコネクタの名前空間およびスキーマの場所を自動的に入力し、プロジェクトの ​pom.xml​ ファイルに必須の連動関係を追加します。

  1. [Mule Palette (Mule パレット)]​ ビューで、​[(X) Search in Exchange ((X) Exchange 内を検索)]​ をクリックします。

  2. [Add Dependencies to Project (連動関係をプロジェクトに追加)]​ ウィンドウで、検索項目に「​dynamics 365​」と入力します。

  3. [Available modules (使用可能なモジュール)]​ で ​[Microsoft Dynamics 365]​ をクリックします。

  4. [Add (追加)]​ をクリックします。

  5. [Finish (完了)]​ をクリックします。

Studio でコネクタを Mule プロジェクトに追加しても、Studio ワークスペースの他のプロジェクトはそのコネクタを使用できません。

ソースの設定

ソースは、指定された条件が満たされたときにフローを開始します。 次のソースのいずれかを Microsoft Dynamics 365 Connector で使用するように設定できます。

  • On new object
    オブジェクトが作成されたときにアプリケーションを開始します。

  • On modified object
    オブジェクトが変更されたときにアプリケーションを開始します。

  • On deleted object
    オブジェクトが削除されたときにアプリケーションを開始します。

  • [HTTP] > [Listener]
    設定されたホストとポートで要求を受信するたびにフローを開始する

  • Scheduler
    時間ベースの条件が満たされたときにフローを開始する

たとえば、​On New Object​ ソースを設定する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)]​ ビューで、​[Dynamics 365] > [On new object]​ を選択します。

    [Mule Palette (Mule パレット)] ビューで選択されている [On New Object] ソース
  2. [On new object]​ を Studio キャンバスにドラッグします。

  3. [On new object]​ の ​[General (一般)]​ 設定画面で、必要に応じて ​[Display Name (表示名)]​ 項目の値を変更します。

  4. account​ など、​[Entity type (エンティティ種別)]​ 項目の値を指定します。
    エンティティ種別の文字列では、Microsoft Dynamics 365 インスタンスで定義されたビジネスデータを記述します。

    On New Object ソースの [General (一般)] 設定項目
  5. [Connector configuration (コネクタ設定)]​ 項目の横にあるプラス記号 (+) をクリックして、アプリケーション内の ​On new object​ ソースのすべてのインスタンスで使用できるグローバル要素を設定します。

  6. [General (一般)]​ タブで、コネクタの接続情報を指定します。

  7. [TLS]​ タブで、必要に応じてコネクタの TLS 情報を指定します。

  8. [Advanced (詳細)]​ タブで、必要に応じて再接続戦略を含む再接続情報を指定します。

  9. [Test Connection (接続をテスト)]​ をクリックして、Mule が指定されたサーバーに接続できることを確認します。

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

フローにコネクタの操作を追加する

フローにコネクタの操作を追加すると、そのコネクタで実行する特定の操作をすぐに定義できます。

Microsoft Dynamics 365 Connector の操作を追加する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)]​ ビューで、​[Dynamics 365]​ を選択し、目的の操作を選択します。

  2. その操作を Studio キャンバスの入力元の右にドラッグします。

コネクタのグローバル要素を設定する

コネクタを設定する場合、アプリケーション内のそのコネクタのすべてのインスタンスで使用できるグローバル要素を設定することをお勧めします。グローバル要素を設定するには、コネクタが対象の Microsoft Dynamics 365 システムにアクセスするために必要な認証ログイン情報を提供する必要があります。Microsoft Dynamics 365 Connector では、OAuth 接続、OAuth クライアントログイン情報、OAuth ユーザー名およびパスワードの各認証種別がサポートされます。

Microsoft Dynamics 365 Connector のグローバル要素を設定する手順は、次のとおりです。

  1. Studio キャンバスで操作を選択します。

  2. 操作の設定画面で、​[Connector configuration (コネクタ設定)]​ 項目の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。

  3. [General (一般)]​ タブの ​[Connection (接続)]​ で、設定する認証方式を選択します。

  4. [Advanced (詳細)]​ タブで、必要に応じて再接続戦略を含む再接続情報を指定します。

  5. [Test Connection (接続をテスト)]​ をクリックして、Mule が指定されたサーバーに接続できることを確認します。

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

OAuth 2.0 認証

OAuth 2.0 を使用して、ユーザーアカウントをホストするサービスにユーザー認証を委任します。詳細は、​「コネクタの OAuth 2.0 の設定」​または​「CloudHub でのコネクタの OAuth 2.0 の設定」​を参照してください。

OAuth 2.0 では、ユーザーアカウントをホストするサービスにユーザー認証を委任します。

OAuth 2.0 認証を設定する手順は、次のとおりです。

  1. [Global Element Properties (グローバル要素のプロパティ)]​ 画面の ​[General (一般)]​ タブで、次の必須情報を入力します。

    • Resource (リソース)
      Microsoft Dynamics 365 インスタンスにアクセスするリソース URL。

    • Consumer Key (コンシューマーキー)
      サービスプロバイダーに登録されている OAuth コンシューマーキー。

    • Consumer Secret (コンシューマーシークレット)
      サービスプロバイダーに登録されている OAuth コンシューマーシークレット。

    • Listener Config (リスナー設定)
      アクセストークンコールバックエンドポイントをキャッチするリスナーへの参照。

    • Callback Path (コールバックパス)
      アクセストークンコールバックエンドポイントのパス。

    • Authorize Path (認証パス)
      OAuth ダンスをトリガーするローカル HTTP エンドポイントのパス。

      次の画像は、プロパティプレースホルダー値を使用した OAuth 接続設定の例を示しています。

      OAuth 接続のグローバル要素の設定

      [Authorization url (認証 URL)]​ と ​[Access token url (アクセストークン URL)]​ の変数 ​<authorization-url>​ と ​<access-token>​ を独自の認証 URL とアクセストークン URL に置き換えます。

  2. /authorize​ パスを Web ページに貼り付けてコールします。

  3. 返された Web ページで、ログイン情報を入力するなど、認証手順を実行します。

適切な認証手順を完了したら、Web ページは、​[Callback Path (コールバックパス)]​ 項目内で設定されたパス (​/oauth2callback​ など) に自動的にリダイレクトされます。このリダイレクトには、使用するコネクタのアクセスコードなど、追加のプロパティが含まれます。

アプリケーションが認証されると、コネクタでトークンが自動的に更新されます。ただし、再起動する場合は、​/authorize​ パスを再度コールして認証手順を実行する必要があります。

OAuth 2.0 クライアントログイン情報認証

OAuth 2.0 クライアントログイン情報認証では、クライアントがクライアント ID とクライアントシークレットを使用して認証します。

OAuth 2.0 クライアントログイン情報認証を設定するには、​[Global Element Properties (グローバル要素のプロパティ)]​ 画面の ​[General (一般)]​ タブで、次の必須情報を入力します。

  • Endpoint (エンドポイント)

    要求の送信先となる場所。

  • Client id (クライアント ID)

    サービスプロバイダーに登録されている OAuth クライアント ID。

  • Client Secret (クライアントシークレット)

    サービスプロバイダーに登録されている OAuth クライアントシークレット。

次の画像は、プロパティプレースホルダー値を使用した OAuth クライアントログイン情報設定の例を示しています。

OAuth 2.0 クライアントログイン情報のグローバル要素の設定

OAuth 2.0 のユーザー名とパスワード認証

OAuth 2.0 のユーザー名とパスワード認証では、アプリケーションはユーザー名とパスワードが含まれる POST 要求を実行します。ログイン情報が有効な場合、サーバーからアクセストークンが返されます。

OAuth 2.0 のユーザー名とパスワード認証を設定するには、​[Global Element Properties (グローバル要素のプロパティ)]​ 画面の ​[General (一般)]​ タブで、次の情報を入力します。

  • Username (ユーザー名)
    セッションの初期化に使用するユーザー名。

  • Password (パスワード)
    プロキシに対する認証に使用するパスワード。

  • Resource (リソース)
    Web API のセキュアなリソースのアプリケーション ID URI。

  • Client ID (クライアント ID)
    アプリケーションを Azure AD に登録したときに割り当てられたアプリケーション ID。この ID は Azure Portal で確認できます。

    1. Azure Portal に移動します。

    2. [Active Directory]​ をクリックして、ディレクトリを選択します。

    3. アプリケーションをクリックしてし、​[Configure (設定)]​ をクリックします。

  • Client Secret (クライアントシークレット)
    アプリケーション登録ポータルでアプリケーション用に作成したアプリケーションシークレット

    クライアントシークレットは信頼のおける方法でデバイスに保存できないため、アプリケーションシークレットをネイティブアプリケーションで使用しないでください。この情報は Web アプリケーションと Web API で必要です (クライアントシークレットをサーバー側で安全に保存できます)。

  • Token Request Endpoint (トークン要求エンドポイント)
    OAuth トークン要求サーバーの URL。

次の画像は、プロパティプレースホルダー値を使用した OAuth ユーザー名とパスワード設定の例を示しています。

OAuth 2.0 ユーザー名とパスワードのグローバル要素の設定

フローの実行方法

  1. Package Explorer で、プロジェクトの名前を右クリックし、​[Run As (別のユーザーとして実行)]​ > ​[Mule Application (Mule アプリケーション)]​ をクリックします。

  2. アプリケーションの起動時にコンソールを確認します。 エラーが発生していない場合、次のようなメッセージが表示されます。

************************************************************
INFO  2019-10-14 22:12:42,003 [main] org.mule.module.launcher.DeploymentDirectoryWatcher:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Mule is up and kicking (every 5000ms)                    +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INFO  2019-10-14 22:12:42,006 [main] org.mule.module.launcher.StartupSummaryDeploymentListener:
**********************************************************
*  - - + DOMAIN + - -               * - - + STATUS + - - *
**********************************************************
* default                           * DEPLOYED           *
**********************************************************

************************************************************************
* - - + APPLICATION + - -   * - - + DOMAIN + - -  * - - + STATUS + - - *
************************************************************************
* myapp                     * default             * DEPLOYED           *
************************************************************************

アプリケーションログの表示

問題を確認するため、アプリケーションログを次の方法で表示できます。

  • アプリケーションを Anypoint Platform から実行している場合、出力は Anypoint Studio のコンソールウィンドウに表示される。

  • コマンドラインから Mule を使用してアプリケーションを実行している場合、アプリケーションログは OS コンソールに表示される。

アプリケーションのログファイル (​log4j2.xml​) でログファイルパスがカスタマイズされていない場合、デフォルトの場所 ​MULE_HOME/logs/<app-name>.log​ でアプリケーションログを表示することもできます。

次のステップ

グローバル要素と接続情報を設定したら、​「例」​トピックで詳細な設定情報を参照してください。