SAP Connector 5.9 の例 - Mule 4

SAP への IDoc の送信

この例は、IDoc を SAP に送信する Mule アプリケーションを作成する方法を示しています。次のスクリーンショットは、この例の Studio フローを示しています。

IDoc を SAP に送信するための Studio フロー

HTTP リスナーを設定する

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

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

  2. [Mule Palette (Mule パレット)]​ ビューから、​[HTTP] > [Listener]​ ソースをキャンバスにドラッグします。

  3. デフォルト値を使用してグローバル要素を設定します。

  4. [Listener (リスナー)]​ プロパティタブで、パスを ​/sendIDoc​ に設定します。

[Transform Message] コンポーネントを追加する

[Transform Message]​ コンポーネントで、IDoc 入力を XML に変換するように設定します。

  1. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Transform Message]​ コンポーネントを ​[Listener]​ ソースの横にドラッグします。

  2. メタデータが取得された後に、​[Transform Message]​ コンポーネントの ​[Output (出力)]​ セクションのテキストを次のテキストで上書きします。

Send IDoc 操作を追加する

Send IDoc​ 操作は、リモート関数コール (RFC) を介して IDoc を SAP に送信します。

  1. [Mule Palette (Mule パレット)]​ ビューから、​[SAP]​ を選択して ​[Send IDoc]​ 操作を ​[Transform Message]​ コンポーネントの横にドラッグします。

  2. SAP_Outbound​ というグローバル要素を作成し、接続情報を指定します。

  3. [Test Connection (接続をテスト)]​ をクリックして、Mule Runtime Engine が SAP インスタンスに接続できることを確認します。

    • 正常に接続できた場合は、設定を保存します。

    • それ以外の場合、無効なパラメーターを確認および修正して、再度テストします。

  4. [Send IDoc]​ のプロパティに次の値を設定します。

    項目

    IDoc Name (IDoc 名)

    MATMAS01

    Content (コンテンツ)

    #[payload]

Logger コンポーネントを追加する

[Logger]​ コンポーネントは Studio コンソールにコネクタのペイロードを表示します。

  1. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Logger]​ を ​[Send IDoc]​ 操作の横にドラッグします。

  2. [File (ファイル)]​ > ​[Save (保存)]​ をクリックして、アプリケーションを保存します。

アプリケーションを実行する

Mule アプリケーションを実行する手順は、次のとおりです。

  1. [Run (実行)]​ > ​[Run as (別のユーザーとして実行)]​ > ​[Mule Application (Mule アプリケーション)]​ をクリックします。

  2. Web ブラウザーから、次の URL のクエリパラメーターとして、従業員の内部 ID、名、姓を入力してアプリケーションをテストします。

    http://localhost:8081/sendIDoc

    Mule によって IDoc が SAP に送信されます。

IDoc を SAP に送信する XML

Studio で次のコードを新しい Mule アプリケーションに貼り付ければ、IDoc を送信するフローの例をすばやく読み込むことができます。環境に合わせて値を変更してください。

IDoc 要求を受信する

この例は、外部 SAP からの受信 IDoc 要求を待機する Mule アプリケーションを作成する方法を示しています。この例でアプリケーションは RFC サーバーのように機能し、自身を SAP ゲートウェイとして登録します。アプリケーションは IDoc 要求を受信すると、リモート関数コール (RFC) コールを使用して SAP に IDoc の作成を要求します。その後、IDoc コンテンツを Studio コンソールに記録します。

次のスクリーンショットは、この例の Studio フローを示しています。

IDoc を受信するための Studio フロー

最初のフローを設定する

最初のフローでは BAPI 関数を使用して IDoc 要求を外部 SAP システムに送信します。このフローを設定する手順は、次のとおりです。

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

  2. [Mule Palette (Mule パレット)]​ ビューから、​[HTTP]​ を選択して ​[Listener]​ ソースをキャンバスにドラッグします。

  3. デフォルト値を使用してグローバル要素を設定します。

  4. [Listener (リスナー)]​ プロパティタブで、パスを ​/trigger​ に設定します。

  5. [Transform message]​ コンポーネントを ​[Listener]​ の横にドラッグします。

    このメッセージのコンテンツは、IDoc 要求を受信する BAPI 関数のペイロードです。

  6. [Transform Message]​ コンポーネントの ​[Output (出力)]​ セクションで、括弧を次のテキストで上書きします。

    %dw 2.0
    output application/xml
    ---
    {
    	ZMMFM_TRIGGER_IDOC_MATMAS: {
    		"import": {
    	IV_MTYP: "MATMAS"
    ,
    IV_OBJ: "23"
    ,
    IV_SYS: "MULE11_LS"
    }
    ,
    export: {
    	EV_RET: "0"
    },export: {
    	EV_OBJ: "0000000003526552"
    },export: null,changing: null,
    tables: {
    	T_MSG: null
    },
    	}
    }
    dataweave
  7. [Mule Palette (Mule パレット)]​ ビューから、​[SAP]​ を選択して ​[Synchronous Remote Function Call]​ 操作を ​[Transform Message]​ コンポーネントの横にドラッグします。

  8. SAP_Config​ というグローバル要素を作成し、接続情報を指定します。

  9. [Test Connection (接続をテスト)]​ をクリックして、Mule Runtime Engine が SAP インスタンスに接続できることを確認します。

2 番目のフローを設定する

2 番目のフローは新しい各 IDoc 要求を Studio コンソールに記録します。このフローを設定する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)]​ ビューから、​[SAP]​ を選択して ​[Document listener]​ ソースをキャンバスにドラッグします。

  2. ソースの新しいグローバル要素を作成し、必須情報を指定します。

    [Document listener]​ のプロパティに次の値を設定します。

    項目

    Gateway host (ゲートウェイホスト)

    ゲートウェイサーバーを実行するホスト

    Gateway service (ゲートウェイサービス)

    3200

    Program id (プログラム ID)

    MULE01_PID

    Connection count (接続数)

    1

    Idoc type filter regex (Idoc 種別検索条件の正規表現)

    MATMAS01

    [Gateway host (ゲートウェイホスト)]​、​[Gateway service (ゲートウェイサービス)]​、​[Program id (プログラム ID)]​ は、顧客の SAP チームから取得する必要があります。

    SAP インスタンスに関連するすべての情報 (設定やログイン情報など) を顧客の SAP チームから取得する必要があります。

  3. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Logger]​ コンポーネントをキャンバス上の ​[Document listener]​ の横にドラッグします。

  4. [File (ファイル)]​ > ​[Save (保存)]​ をクリックして、アプリケーションを保存します。

アプリケーションを実行する

Mule アプリケーションを実行する手順は、次のとおりです。

  1. [Run (実行)]​ > ​[Run as (別のユーザーとして実行)]​ > ​[Mule Application (Mule アプリケーション)]​ をクリックします。

  2. Web ブラウザーから次の URL を入力してアプリケーションをテストします。

    http://localhost:8081/trigger

IDoc 要求を受信する XML

Studio で次のコードを新しい Mule アプリケーションに貼り付ければ、IDoc 要求を受信するフローの例をすばやく読み込むことができます。環境に合わせて値を変更してください。

Studio コンソールでの応答例

<MATMAS01>
                        <IDOC BEGIN="1">
                          <EDI_DC40 SEGMENT="1">
                            <TABNAM>EDI_DC40</TABNAM>
                            <MANDT>800</MANDT>
                            <DOCNUM>0000000003572826</DOCNUM>
                            <DOCREL>740</DOCREL>
                            <STATUS>30</STATUS>
                            <DIRECT>1</DIRECT>
                            <OUTMOD>2</OUTMOD>
                            <IDOCTYP>MATMAS01</IDOCTYP>
                            <MESTYP>MATMAS</MESTYP>
                            <SNDPOR>SAPIDE</SNDPOR>
                            <SNDPRT>LS</SNDPRT>
                            <SNDPRN>T90CLNT090</SNDPRN>
                            <RCVPOR>MULE11_TP</RCVPOR>
                            <RCVPRT>LS</RCVPRT>
                            <RCVPRN>MULE11_LS</RCVPRN>
                            <CREDAT>20191004</CREDAT>
                            <CRETIM>050305</CRETIM>
                            <SERIAL>20191004050305</SERIAL>
                            </EDI_DC40>
 		...
dataweave

SAP 関数を受信する

この例は、SAP 関数を受信する Mule アプリケーションを作成する方法を示しています。この例では、関数が別の Mule フローまたは SAP の GUI からトリガーされたときに結果を表示します。次のスクリーンショットは、この例の Studio フローを示しています。

SAP 接続を確立するための Studio フロー

フローを作成する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)] ビューから、​[SAP]​ を選択して ​[Function listener]​ ソースをキャンバスにドラッグします。

  2. SAP_Inbound​ というグローバル要素を作成し、接続情報を指定します。

  3. プロパティタブで必須項目を設定します。

  4. [Mule Palette (Mule パレット)]​ ビューで ​[Core (コア)]​ を選択して ​[Transform Message]​ コンポーネントを ​[Function listener]​ の右側にドラッグします。

  5. メタデータに基づいて詳細を指定します。次に例を示します。

    SAP_Inbound グローバル要素のメタデータの例
  6. [File (ファイル)] > [Save (保存)]​ をクリックして、アプリケーションを保存します。

  7. [Run (実行)]​ > ​[Run as (別のユーザーとして実行)]​ > ​[Mule Application (Mule アプリケーション)]​ をクリックします。

SAP 関数を受信する XML

Studio で次のコードを新しい Mule アプリケーションに貼り付ければ、関数を受信するフローの例をすばやく読み込むことができます。環境に合わせて値を変更してください。

%dw 2.0
output application/xml
---

<?xml version="1.0" encoding="UTF-8"?>
                            <mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:sap="http://www.mulesoft.org/schema/mule/sap"
	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/sap http://www.mulesoft.org/schema/mule/sap/current/mule-sap.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
                              <sap:sap-config name="SAP_Inbound" doc:name="SAP Config" doc:id="9eb4758e-4eb4-4291-9604-84586dda5cd3" >
                                <sap:simple-connection-provider-connection username="User1" password="Password" systemNumber="00" client="800" applicationServerHost="sapdev.muletest.net" />
                                </sap:sap-config>
                                <flow name="receive-a-functionFlow" doc:id="5104aaba-944d-4b8b-ba35-fc210e1f2c4e" >
                                  <sap:function-listener doc:name="Function listener" doc:id="58ee92ea-967f-4a9c-a14d-164032b1b8ee" config-ref="SAP_Inbound" gatewayHost="gateway.host.com" gatewayService="3200" programID="MULE01_API_PID"/>
                                  <ee:transform doc:name="Transform Message" doc:id="59b4c48f-40ca-4587-80e3-f06d895e1c5b" >
                                    <ee:message >
                                      <ee:set-payload >
                                        <![CDATA[%dw 2.0
output application/java
---
{
}]]>
                                        </ee:set-payload>
                                        </ee:message>
                                        </ee:transform>
                                      </flow>
                                      </mule>
dataweave

トランザクションの管理

この例では、銀行レコードを処理する標準 BAPI で 2 つのコールを実行し、それらのトランザクションを管理します。

次のスクリーンショットは、この例の Studio フローを示しています。

トランザクションを管理する最初の Studio フロー
トランザクションを管理する 2 番目の Studio フロー
トランザクションを管理する 3 番目の Studio フロー

最初のフローを設定する

最初のフローは、米国の利用可能な銀行のリストを取得して、最初の結果を絞り込み、銀行に関する情報をフェッチします。SAP に対するクエリでは、トランザクションは必要ありません。このフローを設定する手順は、次のとおりです。

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

  2. [Mule Palette (Mule パレット)]​ ビューから、​[HTTP]​ を選択して ​[Listener]​ ソースをキャンバスにドラッグします。

  3. デフォルト値を使用してグローバル要素を設定します。

  4. [Listener (リスナー)]​ プロパティタブで、パスを ​/sync-rfc​ に設定します。

  5. [Transform message]​ コンポーネントを ​[Listener]​ の横にドラッグします。

    このメッセージのコンテンツにより、国で銀行が絞り込まれます。

  6. [Transform Message]​ コンポーネントの ​[Output (出力)]​ セクションで、括弧を次のテキストで上書きします。

    %dw 2.0
    output application/xml
    ---
    {
    	BAPI_BANK_GETLIST: {
    		"import": {
    			BANK_CTRY: "US",
    			MAX_ROWS: 0
    		}
    	}
    }
  7. [Mule Palette (Mule パレット)]​ ビューから、​[SAP]​ を選択して ​[Synchronous Remote Function Call]​ 操作を ​[Transform Message]​ コンポーネントの横にドラッグします。

  8. SAP_Config​ というグローバル要素を作成し、接続情報を指定します。

  9. [Test Connection (接続をテスト)]​ をクリックして、Mule Runtime Engine が SAP インスタンスに接続できることを確認します。

  10. [Function Name (関数名)]​ に「​BAPI_BANK_GETLIST​」と入力し、​[Content (コンテンツ)]​ に「​payload​」と入力します。

  11. 別の ​[Transform Message]​ コンポーネントを ​[Synchronous Remote Function Call]​ の横にドラッグします。

    このメッセージのコンテンツにより、最初の結果が絞り込まれます。

  12. [Transform Message]​ コンポーネントの ​[Output (出力)]​ セクションで、括弧を次のテキストで上書きします。

    %dw 2.0
    output application/xml
    ---
    {
    	BAPI_BANK_GETDETAIL: {
    		"import" : {
    			BANKCOUNTRY: payload.BAPI_BANK_GETLIST.tables.BANK_LIST.*row[0].BANK_CTRY,
    			BANKKEY: payload.BAPI_BANK_GETLIST.tables.BANK_LIST.*row[0].BANK_KEY
    		}
    	}
    }
  13. [Mule Palette (Mule パレット)]​ ビューから、​[SAP]​ を選択して別の ​[Synchronous Remote Function Call]​ 操作を ​[Transform Message]​ コンポーネントの横にドラッグします。

  14. SAP_Config​ というグローバル要素を作成し、接続情報を指定します。

  15. [Test Connection (接続をテスト)]​ をクリックして、Mule Runtime Engine が SAP インスタンスに接続できることを確認します。

  16. [Function Name (関数名)]​ に「​"BAPI_BANK_GETDETAIL"​」と入力し、​[Content (コンテンツ)]​ に「​payload​」と入力します。

  17. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Logger]​ コンポーネントを ​[Synchronous Remote Function Call]​ の横にドラッグします。

2 番目のフローを設定する

2 番目のフローは、データから販売注文を作成します。​try​ を BAPI コールに追加して、トランザクションを作成する必要があります。そのようにしないと、変更が SAP に反映されません。このフローを設定する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)]​ ビューから、​[HTTP]​ を選択して ​[Listener]​ ソースをキャンバスにドラッグします。

  2. デフォルト値を使用してグローバル要素を設定します。

  3. [Listener (リスナー)]​ プロパティタブで、パスを ​/sync-mule-transaction​ に設定します。

  4. [Transform message]​ コンポーネントを ​[Listener]​ の横にドラッグします。

    このメッセージのコンテンツにより、データから販売注文が作成されます。

  5. [Transform Message]​ コンポーネントの ​[Output (出力)]​ セクションで、括弧を次のテキストで上書きします。

  6. [Mule Palette (Mule パレット)]​ ビューから、​[SAP]​ を選択して ​[Synchronous Remote Function Call]​ 操作を ​[Transform Message]​ コンポーネントの横にドラッグします。

  7. SAP_Config​ というグローバル要素を作成し、接続情報を指定します。

  8. [Test Connection (接続をテスト)]​ をクリックして、Mule Runtime Engine が SAP インスタンスに接続できることを確認します。

  9. [Function Name (関数名)]​ に「​BAPI_SALESORDER_CREATEFROMDAT2​」と入力し、​[Content (コンテンツ)]​ に「​payload​」と入力します。

  10. [Mule Palette (Mule パレット)]​ ビューから ​[Core (コア)]​ を選択して ​[On Error Continue]​ コンポーネントを ​[Synchronous Remote Function Call]​ の下にドラッグします。

  11. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Logger]​ コンポーネントを ​[On Error Continue]​ にドラッグします。

  12. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して別の ​[Logger]​ コンポーネントを ​[Synchronous Remote Function Call]​ の横にドラッグします。

  13. [Message (メッセージ)]​ に「​payload.BAPI_SALESORDER_CREATEFROMDAT2.export.SALESDOCUMENT​」と入力します。

3 番目のフローを設定する

3 番目のフローは、トランザクション ID を作成してリストを取得します。非同期コールでは、応答を想定していないため、トランザクションを管理する別の方法が必要になります。特定の操作を使用して、非同期コールのトランザクションを管理します。このフローを設定する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)]​ ビューから、​[HTTP]​ を選択して ​[Listener]​ ソースをキャンバスにドラッグします。

  2. デフォルト値を使用してグローバル要素を設定します。

  3. [Listener (リスナー)]​ プロパティタブで、パスを ​/async-rfc​ に設定します。

  4. [Mule Palette (Mule パレット)]​ ビューから、​[SAP]​ を選択して ​[Start SAP transaction]​ 操作を ​[Listener]​ の横にドラッグします。

  5. SAP_Config​ というグローバル要素を作成し、接続情報を指定します。

  6. [Test Connection (接続をテスト)]​ をクリックして、Mule Runtime Engine が SAP インスタンスに接続できることを確認します。

  7. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Set Variable]​ トランスフォーマーを ​[Start SAP transaction]​ の横にドラッグします。

  8. [Name (名前)]​ に「​createdTransactionId​」と入力し、​[値 (コンテンツ)]​ に「​payload​」と入力します。

  9. [Transform message]​ コンポーネントを ​[Set Variable]​ の横にドラッグします。

    このメッセージのコンテンツにより、銀行のリストが取得されます。

  10. [Transform Message]​ コンポーネントの ​[Output (出力)]​ セクションで、括弧を次のテキストで上書きします。

    %dw 2.0
    output application/xml
    ---
    %dw 2.0
    output application/xml
    ---
    {
    	BAPI_BANK_GETLIST: {
    		"import": {
    			BANK_CTRY: "US",
    			MAX_ROWS: 0
    		}
    	}
    }
  11. [Mule Palette (Mule パレット)]​ ビューから、​[SAP]​ を選択して ​[Asynchronous Remote Function Call]​ 操作を ​[Transform Message]​ の横にドラッグします。

  12. SAP_Config​ というグローバル要素を作成し、接続情報を指定します。

  13. [Test Connection (接続をテスト)]​ をクリックして、Mule Runtime Engine が SAP インスタンスに接続できることを確認します。

  14. [Function Name (関数名)]​ に「​"BAPI_BANK_GETLIST"​」と入力し、​[Content (コンテンツ)]​ に「​payload​」と入力します。

  15. [Mule Palette (Mule パレット)]​ ビューから、​[SAP]​ を選択して ​[Confirm transaction]​ 操作を ​[Asynchronous Remote Function Call]​ の横にドラッグします。

  16. SAP_Config​ というグローバル要素を作成し、接続情報を指定します。

  17. [Test Connection (接続をテスト)]​ をクリックして、Mule Runtime Engine が SAP インスタンスに接続できることを確認します。

  18. [Transaction ID (TID) (トランザクション ID (TID))]​ に「​vars.createdTransactionId​」と入力します。

アプリケーションを実行する

Mule アプリケーションを実行する手順は、次のとおりです。

  1. [Run (実行)]​ > ​[Run as (別のユーザーとして実行)]​ > ​[Mule Application (Mule アプリケーション)]​ をクリックします。

  2. Web ブラウザーから次の URL を入力して最初のフローをテストします。

    http://localhost:8081/sync-rfc

    次のような要求の XML 出力が表示されます。

  3. Web ブラウザーから次の URL を入力して 2 番目のフローをテストします。

    http://localhost:8081/sync-mule-transaction

    次のような要求の XML 出力が表示されます。

  4. Web ブラウザーから次の URL を入力して 3 番目のフローをテストします。

    http://localhost:8081/async-rfc

    次のような要求の XML 出力が表示されます。

    <BAPI_BANK_GETLIST>
        <import>
            <BANK_CTRY>US</BANK_CTRY>
            <MAX_ROWS>0</MAX_ROWS>
        </import>
    </BAPI_BANK_GETLIST>
    dataweave

トランザクションを管理するための XML

トランザクションの管理の例のフローをすばやく読み込むには、Studio で次のコードを新しい Mule アプリケーションに貼り付けます。環境に合わせて値を変更してください。

複数のゲートウェイの設定

この例では、1 つのゲートウェイ接続ではなく、負荷を分散してパフォーマンスを向上させるために複数のゲートウェイ接続を使用して、メッセージサーバーを設定する Mule アプリケーションを作成する方法を示します。

次のスクリーンショットは、この例の Studio フローを示しています。

複数のゲートウェイを使用してメッセージサーバーを設定するための Studio フロー

最初のフローを設定する

最初のフローは、メッセージサーバーを ​Document listener​ ソースに渡します。このフローを設定する手順は、次のとおりです。

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

  2. [Mule Palette (Mule パレット)]​ ビューから、​[SAP]​ を選択して ​[Document listener]​ ソースをキャンバスにドラッグします。

  3. Document listener​ ソースのグローバル要素を設定し、必須項目に入力します。

  4. [Document listener]​ プロパティタブで、次の項目を設定します。

    項目

    Gateway host (ゲートウェイホスト)

    54.160.77.19

    Gateway service (ゲートウェイサービス)

    3300

    Program id (プログラム ID)

    MULE11_IDOC_PID

    Connection count (接続数)

    1

  5. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Logger]​ コンポーネントをキャンバス上の ​[Document listener]​ の横にドラッグします。

2 番目のフローを設定する

2 番目のフローは、最初の個別のゲートウェイをトリガーします。このフローを設定する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)]​ ビューから、​[HTTP] > [Listener]​ ソースをキャンバスにドラッグします。

  2. デフォルト値を使用してグローバル要素を設定します。

  3. [Listener (リスナー)]​ プロパティタブで、パスを ​/C​ に設定します。

  4. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Transform Message]​ コンポーネントを ​[Listener]​ ソースの横にドラッグします。

  5. [Transform Message]​ コンポーネントの ​[Output (出力)]​ セクションで、括弧を次のテキストで上書きします。

    %dw 2.0
    output application/xml
    ---
    {
      ZMMFM_TRIGGER_IDOC_MATMAS: {
        "import": {
      IV_MTYP: "MATMAS"
    ,
    IV_OBJ: "23"
    ,
    IV_SYS: "MULE11_LS"
    }
    ,
    export: {
      EV_RET: "0"
    },export: {
      EV_OBJ: "0000000003526552"
    },export: null,changing: null,
    tables: {
      T_MSG: null
    },
      }
    }
  6. [Mule Palette (Mule パレット)]​ ビューから、​[SAP]​ を選択して ​[Synchronous Remote Function Call]​ 操作をキャンバスにドラッグします。

  7. Synchronous Remote Function Call​ 操作のグローバル要素を設定し、必須項目に入力します。

  8. [Synchronous Remote Function Call]​ プロパティタブで、次の項目を設定します。

    項目

    Function Name (関数名)

    "ZMMFM_TRIGGER_IDOC_MATMAS"

    Content (コンテンツ)

    payload

  9. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Transform Message]​ コンポーネントを ​[Synchronous Remote Function Call]​ 操作の横にドラッグします。

  10. [Transform Message]​ コンポーネントの ​[Output (出力)]​ セクションで、括弧を次のテキストで上書きします。

    %dw 2.0
    output application/json
    ---
    payload

3 番目のフローを設定する

3 番目のフローは、2 番目の個別のゲートウェイをトリガーします。このフローを設定する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)]​ ビューから、​[HTTP] > [Listener]​ ソースをキャンバスにドラッグします。

  2. デフォルト値を使用してグローバル要素を設定します。

  3. [Listener (リスナー)]​ プロパティタブで、パスを ​/d​ に設定します。

  4. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Transform Message]​ コンポーネントを ​[Listener]​ ソースの横にドラッグします。

  5. [Transform Message]​ コンポーネントの ​[Output (出力)]​ セクションで、括弧を次のテキストで上書きします。

    %dw 2.0
    output application/xml
    ---
    {
      ZMMFM_TRIGGER_IDOC_MATMAS: {
        "import": {
      IV_MTYP: "MATMAS"
    ,
    IV_OBJ: "23"
    ,
    IV_SYS: "MULE11_LS"
    }
    ,
    export: {
      EV_RET: "0"
    },export: {
      EV_OBJ: "0000000003526552"
    },export: null,changing: null,
    tables: {
      T_MSG: null
    },
      }
    }
  6. [Mule Palette (Mule パレット)]​ ビューから、​[SAP]​ を選択して ​[Synchronous Remote Function Call]​ 操作をキャンバスにドラッグします。

  7. Synchronous Remote Function Call​ 操作のグローバル要素を設定し、必須項目に入力します。

  8. [Synchronous Remote Function Call]​ プロパティタブで、次の項目を設定します。

    項目

    Function Name (関数名)

    "ZMMFM_TRIGGER_IDOC_MATMAS"

    Content (コンテンツ)

    payload

  9. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Transform Message]​ コンポーネントを ​[Synchronous Remote Function Call]​ 操作の横にドラッグします。

  10. [Transform Message]​ コンポーネントの ​[Output (出力)]​ セクションで、括弧を次のテキストで上書きします。

    %dw 2.0
    output application/json
    ---
    payload

アプリケーションを実行する

Mule アプリケーションを実行する手順は、次のとおりです。

  1. [Run (実行)]​ > ​[Run as (別のユーザーとして実行)]​ > ​[Mule Application (Mule アプリケーション)]​ をクリックします。

複数のゲートウェイを設定する XML

Studio で次のコードを新しい Mule アプリケーションに貼り付ければ、複数のゲートウェイの設定例のフローをすばやく読み込むことができます。環境に合わせて値を変更してください。