Microsoft Dynamics 365 for Operations コネクタ

Anypoint Platform 用の Microsoft Dynamics 365 for Operations コネクタを使用すると、Microsoft Dynamics 365 for Operations Web API とのインテグレーションが可能になります。

このコネクタにより、次の操作を実行できるようになります。

  • Microsoft Dynamics 365 for Operations サーバへのアクセスの承認または承認の取り消しを行う。

  • Microsoft Dynamics 365 for Operations サーバに定期的なジョブを作成する。

  • 複数のエンティティを取得する。

  • DataSense クエリ言語を使用して複数のエンティティを取得する。

  • 操作を実行する。

前提条件

このドキュメントは、読者が Microsoft Dynamics 365 for Operations、Mule、Anypoint コネクタ、Anypoint Studio、Mule の概念、Mule フローの要素、グローバル要素に精通していることを前提としています。

対象リソースへの接続をテストするには、ログイン情報が必要です。

ハードウェアとソフトウェアの要件および互換性に関する情報は、「コネクタリリースノート」を参照してください。

Maven でこのコネクタを使用するには、Anypoint Exchange の [Dependency Snippets (連動関係スニペット)] で pom.xml の連動関係情報を確認してください。

開始する前に、Azure Active Directory で管理される Microsoft Dynamics 365 インスタンス (オンラインまたはオンプレミス) へのアクセス権が必要です。

このコネクタの新機能

このコネクタは、Mule 4 で初めてリリースされます。

Design Center で接続の接続

  1. トリガをクリックします。トリガ時にこのコネクタを選択することで、グローバル要素を作成できます。 グローバル要素が不要な場合は、HTTP リスナまたはスケジューラトリガを使用できます。

  2. このコネクタのグローバル要素 (省略可能) を作成する場合、次のオプションから選択できます。

    Design Center の設定名と接続種別
  3. プラス記号を選択して、コンポーネントを追加します。

  4. コンポーネントとしてコネクタを選択します。

  5. [Set Up (セットアップ)] > [Upload (アップロード)] をクリックし、ファイルシステムにあるこのコネクタのドライバを参照して選択し、アップロードします。または、すでにアップロードされているドライバを検索して選択します。

  6. Retrieve Multiple 操作の [Data Query URL (データクエリ URL)] 項目を設定します。この URL はデータを取得するクエリで使用します。

    Retrieve Multiple の [Data Query URL (データクエリ URL)] 項目

OAuth 2.0 設定の必須パラメータ

必須設定についての詳細は、このドキュメントの「関連情報」セクションに記載の「OAuth 2.0 と Azure Active Directory を使用して Web アプリケーションへのアクセスを承認する」リンクを参照してください。 認証 URL とアクセストークン URL を確認するには、Azure Portal の [App registrations (アプリの登録)] セクションにアクセスし、[Endpoints (エンドポイント)] メニューを選択します。

  • Consumer Key (コンシューマキー) - アプリケーションを Azure Active Directory に登録したときに割り当てられたアプリケーション ID。この ID は Azure Portal (portal.azure.com) で確認できます。[Active Directory] をクリックして、ディレクトリをクリックし、アプリケーションを選択してから [Configure (設定)] をクリックします。

  • Consumer Secret (コンシューマシークレット) - アプリケーション登録ポータルでアプリケーション用に作成したアプリケーションシークレット。クライアントシークレットは信頼のおける方法でデバイスに保存できないため、このシークレットをネイティブアプリケーションで使用しないでください。この情報は Web アプリケーションと Web API で必要です (クライアントシークレットをサーバ側で安全に保存できます)。この ID は Azure Portal (portal.azure.com) で確認できます。

  • Authorization URL (認証 URL) - テナント固有の OAuth 2.0 エンドポイント。https://login.microsoftonline.com/{tenant}/oauth2/authorize の形式です (エンドポイントの具体的な取得方法については、上記のリンク先に記載されている手順に従ってください)。

  • Access token URL (アクセストークン URL) - アクセストークンを要求するテナント固有のエンドポイント。https://login.microsoftonline.com/{tenant}/oauth2/token の形式です (エンドポイントの具体的な取得方法については、上記のリンク先に記載されている手順に従ってください)。

  • Listener config (リスナ設定) - Studio のフローで作成された HTTP リスナインスタンスの名前。

  • Callback path (コールバックパス) - アプリケーションの URL で、アプリケーションが認証応答の送受信に使用できる (エンドポイントの具体的な取得方法については、上記のリンク先に記載されている手順に従ってください)。

  • Authorize path (認証パス) - OAuth メカニズムをトリガする URL。

  • External callback URL (外部コールバック URL) - 省略可能: コールバック URL に直接アクセスできない場合 (例: プロキシを使用する場合) に設定する。http://localhost:8081/callback のような形式です。

    Design Center の OAuth 設定

OAuth 2.0 ユーザ名パスワードの必須パラメータ

必須設定についての詳細は、このドキュメントの「関連情報」セクションに記載の「OAuth 2.0 と Azure Active Directory を使用して Web アプリケーションへのアクセスを承認する」を参照してください。

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

  • Password (パスワード) - ユーザの認証に使用するパスワード

  • Resource (リソース) - Web API のアプリケーション ID URI (セキュアなリソース)。バージョンを指定しない、ルート URI である必要があります。https://YOUR_ORG.operations.dynamics.com/ のような形式です。

  • Client ID (クライアント ID) - アプリケーションを Azure Active Directory に登録したときに割り当てられたアプリケーション ID。この ID は Azure Portal (portal.azure.com) で確認できます。[Active Directory] をクリックして、ディレクトリをクリックし、アプリケーションを選択してから [Configure (設定)] をクリックします。

  • Client Secret (クライアントシークレット) - アプリケーション登録ポータルでアプリケーション用に作成したアプリケーションシークレット。クライアントシークレットは信頼のおける方法でデバイスに保存できないため、このシークレットをネイティブアプリケーションで使用しないでください。この情報は Web アプリケーションと Web API で必要です (クライアントシークレットをサーバ側で安全に保存できます)。この ID は Azure Portal (portal.azure.com) で確認できます。

  • Token Request Endpoint (トークン要求エンドポイント) - アクセストークンを取得するためにコールするトークンエンドポイント。https://login.windows.net/TENANT_ID/oauth2/token のような形式で、TENANT_ID は Azure Active Directory ID です。

Design Center の OAuth ユーザ名パスワード設定

Anypoint Studio 7 での接続

このコネクタを Anypoint Studio で使用するには、まず Exchange からダウンロードして必要に応じて設定します。

Studio でコネクタをインストールする

  1. Anypoint Studio で、Studio タスクバーの Exchange アイコンをクリックします。

  2. Anypoint Exchange で [Login (ログイン)] をクリックします。

  3. このコネクタを検索して [Install (インストール)] をクリックします。

  4. 画面の指示に従ってこのコネクタをインストールします。

Studio の更新がある場合、右下隅にメッセージが表示されます。メッセージをクリックすると、更新をインストールできます。

Studio で設定する

  1. コネクタをドラッグして Studio キャンバスにドロップします。

  2. コネクタのグローバル要素を作成するには、次の項目を設定します。

    1. OAuth 2.0

      • Consumer Key (コンシューマキー) - アプリケーションを Azure Active Directory に登録したときに割り当てられたアプリケーション ID。この ID は Azure Portal (portal.azure.com) で確認できます。[Active Directory] をクリックして、ディレクトリをクリックし、アプリケーションを選択してから [Configure (設定)] をクリックします。

      • Consumer Secret (コンシューマシークレット) - アプリケーション登録ポータルでアプリケーション用に作成したアプリケーションシークレット。クライアントシークレットは信頼のおける方法でデバイスに保存できないため、このシークレットをネイティブアプリケーションで使用しないでください。この情報は Web アプリケーションと Web API で必要です (クライアントシークレットをサーバ側で安全に保存できます)。この ID は Azure Portal (portal.azure.com) で確認できます。

      • Authorization URL (認証 URL) - テナント固有の OAuth 2.0 エンドポイント。https://login.microsoftonline.com/{tenant}/oauth2/authorize の形式です (エンドポイントの具体的な取得方法については、上記のリンク先に記載されている手順に従ってください)。

      • Access token URL (アクセストークン URL) - アクセストークンを要求するテナント固有のエンドポイント。https://login.microsoftonline.com/{tenant}/oauth2/token の形式です (エンドポイントの具体的な取得方法については、上記のリンク先に記載されている手順に従ってください)。

      • Listener config (リスナ設定) - Studio のフローで作成された HTTP リスナインスタンスの名前。

      • Callback path (コールバックパス) - アプリケーションの URL で、アプリケーションが認証応答の送受信に使用できる (エンドポイントの具体的な取得方法については、上記のリンク先に記載されている手順に従ってください)。

      • Authorize path (認証パス) - OAuth メカニズムをトリガする URL。
** External callback URL (外部コールバック URL) - 省略可能: コールバック URL に直接アクセスできない場合 (例: プロキシを使用する場合) に設定する。http://localhost:8081/callback のような形式です。

        Studio の OAuth 設定
    2. OAuth 2.0 ユーザ名パスワード

      • Username - Username used to initialize the session.

      • Password - Password used to authenticate the user.

      • Resource (リソース) - Web API のアプリケーション ID URI (セキュアなリソース)。バージョンを指定しない、ルート URI である必要があります。https://YOUR_ORG.operations.dynamics.com/ のような形式です。

      • Client ID (クライアント ID) - アプリケーションを Azure Active Directory に登録したときに割り当てられたアプリケーション ID。この ID は Azure Portal (portal.azure.com) で確認できます。[Active Directory] をクリックして、ディレクトリをクリックし、アプリケーションを選択してから [Configure (設定)] をクリックします。

      • Client Secret (クライアントシークレット) - アプリケーション登録ポータルでアプリケーション用に作成したアプリケーションシークレット。クライアントシークレットは信頼のおける方法でデバイスに保存できないため、このシークレットをネイティブアプリケーションで使用しないでください。この情報は Web アプリケーションと Web API で必要です (クライアントシークレットをサーバ側で安全に保存できます)。この ID は Azure Portal (portal.azure.com) で確認できます。

      • Token Request Endpoint (トークン要求エンドポイント) - アクセストークンを取得するためにコールするトークンエンドポイント。https://login.windows.net/TENANT_ID/oauth2/token のような形式で、TENANT_ID は Azure Active Directory ID です。

        Studio の OAuth ユーザ名パスワード設定

ユースケース: Studio

  1. Listener(HTTP) (リスナ (HTTP)) - HTTP 要求のデータを受け入れる。

  2. Dynamics AX for Operations - Dynamics for Operations と接続し、顧客のエンティティをすべて取得するクエリを実行する。

  3. Transform message (メッセージの変換) - Retrieve Multiple 操作の結果を JSON 形式で出力する。

    Studio 7 の dynamics-op-testFlow のアイコン

ユースケース: XML

次の XML コードを Anypoint Studio に貼り付けて、前のセクションで説明したフローを試してください。

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
xmlns:dynamics365ForOperations="http://www.mulesoft.org/schema/mule/dynamics365ForOperations"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/dynamics365ForOperations
http://www.mulesoft.org/schema/mule/dynamics365ForOperations/current/mule-dynamics365ForOperations.xsd">
	<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config">
		<http:listener-connection host="localhost" port="8081" />
	</http:listener-config>
	<dynamics365ForOperations:dynamics-365-for-operations-config name="Dynamics_365_For_Operations_Dynamics_365_for_operations" doc:name="Dynamics 365 For Operations Dynamics 365 for operations">
		<dynamics365ForOperations:oauth2-user-password-connection
		username="USERNAME"
		password="PASSWORD"
		resource="https://muledev.sandbox.operations.dynamics.com"
		clientId="CLIENT_ID"
		clientSecret="CLIENT_SECRET"
		tokenRequestEndpoint="https://login.windows.net/TOKEN/oauth2/token" />
	</dynamics365ForOperations:dynamics-365-for-operations-config>
	<dynamics365ForOperations:dynamics-365-for-operations-config
	name="Dynamics_365_For_Operations_Dynamics_365_for_operations1"
	doc:name="Dynamics 365 For Operations Dynamics 365 for operations">
		<dynamics365ForOperations:oauth2-user-password-connection username="${operations.username}" password="${operations.password}" resource="${operations.resource}" clientId="${operations.client_id}" clientSecret="${operations.client_secret}" tokenRequestEndpoint="${operations.request_endpoint}" />
	</dynamics365ForOperations:dynamics-365-for-operations-config>
	<flow name="dynamics-op-testFlow">
		<http:listener doc:name="Listener" config-ref="HTTP_Listener_config"
		path="/retrieve"/>
		<dynamics365ForOperations:retrieve-multiple doc:name="Retrieve multiple"
		config-ref="Dynamics_365_For_Operations_Dynamics_365_for_operations1">
			<dynamics365ForOperations:data-query-url ><![CDATA[https://muledev.sandbox.operations.dynamics.com/data/Customers]]></dynamics365ForOperations:data-query-url>
		</dynamics365ForOperations:retrieve-multiple>
		<ee:transform doc:name="Transform Message">
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
			</ee:message>
		</ee:transform>
	</flow>
</mule>

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub