Microsoft Dynamics AX コネクタ

Microsoft Dynamics AX コネクタを使用すると、Mule アプリケーションで Microsoft Dynamics AX クエリサービスを処理できます。

このコネクタは次の操作をサポートしています。

  • AOT テーブルに対してクエリを実行する。

  • AOT 静的クエリを実行する。

  • AIF ドキュメントサービスをコールする。

このコネクタは Microsoft Dynamics AX 2012 をサポートしています。

前提条件

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

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

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

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

Anypoint Platform 用の Windows ゲートウェイサービスをインストールします。

Anypoint Platform 用の Windows ゲートウェイサービス

Windows ゲートウェイサービスエージェントは、Dynamics AX システムサービスをコールしたときにプロトコル変換を実行します。 Dynamics AX システムサービス (メタデータサービス、クエリサービス) は net.tcp プロトコルを使用しますが、Java には実装されません。 このコネクタは要求を実行するために、下図のとおり、Windows ゲートウェイサービス経由で要求を転送します。

ms dynamics ax protocol translation
  1. コネクタが HTTP 要求を Windows ゲートウェイサービスに送信します。

  2. Windows ゲートウェイサービスが HTTP 要求を受け取ります。

  3. Windows ゲートウェイサービスが、netTcp プロトコルを使用して、Dynamics AX システムサービスに対して要求を実行します。

  4. Windows ゲートウェイサービスエージェントが、Dynamics AX システムサービスから応答を受け取ります。

  5. Windows ゲートウェイサービスエージェントが、HTTP 経由で応答をコネクタに送信します。

  6. コネクタが応答を受信します。

Anypoint Platform と Windows ゲートウェイサービス間の通信はすべて SSLによって認証され保護されます。

このコネクタの新機能

これは初めての Mule 4 リリースです。

Design Center での接続方法

  1. HTTP リスナやスケジューラなどのトリガをクリックします。

    ms dynamics ax design listener
  2. プラス記号をクリックして Dynamics AX コネクタを検索し、Query Table 操作を選択します。

  3. [Edit (編集)] をクリックして、コネクタを設定します。

  4. 全般設定について、次の項目を入力します。

    • Company (会社): すべてのコール内で使用する会社を設定します。

    • Language (言語): すべてのコール内で使用する言語を設定します。

    • Log on as user (ユーザとしてログオン): すべてのコール内で使用するユーザを設定します。

    • Message id (メッセージ ID): すべてのコール内で使用するメッセージ ID を設定します。

    • Partition key (パーティションキー): すべてのコール内で使用するパーティションキーを設定します。

      接続パラメータ:

      パラメータ 説明

      Username (ユーザ名)

      Dynamics AX に接続するユーザ名。

      Password (パスワード)

      Dynamics AX に接続するためのパスワード。

      AOS Server Name (AOS サーバ名)

      アプリケーションオブジェクトサーバを実行しているサーバの名前または IP。

      AOS Services WSDL Port (AOS サービス WSDL ポート)

      サービス WSDL を実行するポート番号。デフォルトは 8101 です。

      Gateway Router Service Url (ゲートウェイルータサービス URL)

      Windows ゲートウェイサービスのアドレス (ホストとポート)。このアドレスは通常 https://myserver.com:9333/router のようになります。

  5. 高度な接続の場合は、次の項目に入力します。

    • AOS Endpoint Port (AOS エンドポイントポート) (省略可能) - この設定を使用して、サービスの WSDL ドキュメントにあるサービスエンドポイントを上書きします。

    • Connect Timeout (接続タイムアウト) - コネクタ要求の接続タイムアウトの設定に使用します。この省略可能な値の単位はミリ秒です (無制限のタイムアウトは 0)。

    • Receive timeout (受信タイムアウト) - コネクタ要求の受信タイムアウトの設定に使用します。この値はミリ秒単位で、省略可能です。

  6. [Query (クエリ)] に「dsql:SELECT Name,Type FROM ProjTable」と入力します。

  7. [Fetch Size (フェッチサイズ)] に「20」と入力します。

ms dynamics ax design operation

Anypoint Studio 7 での接続

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

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

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

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

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

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

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

Studio で設定する

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

    ms dynamics ax component
  2. 一般設定で次の項目に入力します。

    ms dynamics ax any config
    • Company (会社): すべてのコール内で使用する会社を設定します。

    • Language (言語): すべてのコール内で使用する言語を設定します。

    • Log on as user (ユーザとしてログオン): すべてのコール内で使用するユーザを設定します。

    • Message id (メッセージ ID): すべてのコール内で使用するメッセージ ID を設定します。

    • Partition key (パーティションキー): すべてのコール内で使用するパーティションキーを設定します。

      接続パラメータ:

      パラメータ 説明

      Username (ユーザ名)

      Dynamics AX に接続するユーザ名。

      Password (パスワード)

      Dynamics AX に接続するためのパスワード。

      AOS Server Name (AOS サーバ名)

      アプリケーションオブジェクトサーバを実行しているサーバの名前または IP。

      AOS Services WSDL Port (AOS サービス WSDL ポート)

      サービス WSDL を実行するポート番号。デフォルトは 8101 です。

      Gateway Router Service Url (ゲートウェイルータサービス URL)

      Windows ゲートウェイサービスのアドレス (ホストとポート)。このアドレスは通常 https://myserver.com:9333/router のようになります。

高度な接続の場合は、次の項目に入力します。

ms dynamics ax any advanced config
  • AOS Endpoint Port (AOS エンドポイントポート) (省略可能) - この設定を使用して、サービスの WSDL ドキュメントにあるサービスエンドポイントを上書きします。

  • Connect Timeout (接続タイムアウト) - コネクタ要求の接続タイムアウトの設定に使用します。この省略可能な値の単位はミリ秒です (無制限のタイムアウトは 0)。

  • Receive timeout (受信タイムアウト) - コネクタ要求の受信タイムアウトの設定に使用します。この値はミリ秒単位で、省略可能です。

ユースケース: Query Table

  1. フローに HTTP リスナを追加します。

  2. 緑のプラス記号をクリックして設定します。

  3. [Host (ホスト)] を「localhost」、[Port (ポート)] を「8080」に設定します。

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

  5. Microsoft Dynamics AX パレットから Query Table 操作を追加します。

  6. 緑のプラス記号をクリックして接続を設定します。

  7. 上記の項目を設定します。

  8. [Query (クエリ)] パラメータに「dsql:Select Name from ProjTable」と入力します。

  9. [Transform Message (メッセージの変換)] を追加して、次のとおり設定します。

    %dw 2.0
    output application/json
    payload
  10. localhost:8080 に対して curl を実行します。

ユースケース: XML

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

<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
      xmlns:microsoft-dynamics-ax="http://www.mulesoft.org/schema/mule/microsoft-dynamics-ax"
      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/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/microsoft-dynamics-ax
http://www.mulesoft.org/schema/mule/microsoft-dynamics-ax/current/mule-microsoft-dynamics-ax.xsd
http://www.mulesoft.org/schema/mule/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config">
        <http:listener-connection host="localhost" port="8082"/>
    </http:listener-config>

    <microsoft-dynamics-ax:dynamics-ax-config name="Microsoft_Dynamics_AX_Dynamics_AX"
         doc:name="Microsoft Dynamics AX Dynamics AX">
        <microsoft-dynamics-ax:soap-connection disableCnCheck="true"
         gatewayRouterServiceAddress="${gateway-connection-config.gatewayRouterServiceAddress}"
         username="${gateway-connection-config.username}"
         password="${gateway-connection-config.password}"
         aosServerName="${gateway-connection-config.aosServerName}"
         aosWsdlPort="${gateway-connection-config.aosWsdlPort}"/>
    </microsoft-dynamics-ax:dynamics-ax-config>

    <flow name="dynamics-old-ax-demoFlow2">
        <http:listener doc:name="Listener" config-ref="HTTP_Listener_config" path="/query"/>
        <set-payload value="#[attributes.queryParams.queryToExecute]" doc:name="Set Payload"/>
        <microsoft-dynamics-ax:query-table itemsPerPage="5" doc:name="Query table"
              config-ref="Microsoft_Dynamics_AX_Dynamics_AX">
            <microsoft-dynamics-ax:query>#[payload]</microsoft-dynamics-ax:query>
        </microsoft-dynamics-ax:query-table>
        <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>
ms dynamics ax use case

関連情報

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub