複数のパートナーへの MDN の送信 - Mule 4

次の例は、複数のパートナーに MDN (Message Disposition Notification) を送信する方法を示しています。この例には次の 2 つのフローが含まれます。

  • 最初のフローでは、インバウンド AS2 メッセージを受信する AS2 リスナーエンドポイントを設定します。

  • 2 番目のフローでは、メッセージペイロードと、AS2 送信者および受信者の情報を HTTP を介して受信します。次に、​Send with Sync MDN​ 操作を使用して、アウトバウンド AS2 メッセージを対象 AS2 エンドポイントに送信します。

この例は、​「AS2 メッセージの受信と MDN の返送」​の例と似ていますが、次の点が異なります。

  • パートナー情報は、設定されたキーストアにすでに存在する必要があります。

  • グローバル要素の ​[Partners (パートナー)]​ タブで、パートナー情報を次のように設定する必要があります。

    • [Listener Mode (リスナーモード)]​ 項目を ​[Shared mode (共有モード)]​ に設定し、追加のパートナーの詳細を指定する。

    • このタブの ​[Partner config (パートナー設定)]​ セクションを空白のままにする。そうしないと、コネクタはエラーを返します。次のスクリーンショットは、このセクションを強調表示しています。

      「AS2 Connector Listener config (AS2 Connector リスナー設定)」 画面の強調表示されたセクションでは項目を設定しない。

インバウンド AS2 メッセージを受信する AS2 リスナーエンドポイントの設定

このフローは、AS2 Connector の送信操作と、mendelson AS2 ソフトウェアや HTTP 要求などの他のソースからのインバウンド AS2 メッセージをリスンします。

AS2 リスナーエンドポイントを公開するためのフロー

直接入力するかインライン式を使用して、​共有モード​でパートナー情報を指定できます。

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。この XML コードでは、パートナー情報が直接入力されています。

<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns:as2-mule4="http://www.mulesoft.org/schema/mule/as2-mule4" 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/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/as2-mule4 http://www.mulesoft.org/schema/mule/as2-mule4/current/mule-as2-mule4.xsd">
	<http:listener-config name="HTTP_Server_Config" doc:name="HTTP Listener config" >
		<http:listener-connection host="0.0.0.0" port="8081" />
	</http:listener-config>
	<as2-mule4:listener-config name="AS2_Server_Listener" doc:name="AS2 Connector Listener config" httpListenerConfig="HTTP_Server_Config" securityLevel="SIGNED_ENCRYPTED">
		<as2-mule4:self-config as2Name="partnera" x509Alias="partnera" email="support@partnera.com"/>
		<as2-mule4:listener-mode >
			<as2-mule4:shared-mode>
				<as2-mule4:partner-configs >
					<as2-mule4:partner-detail-extended as2Name="partnerb" x509Alias="partnerb" email="support@partnerb.com" />
					<as2-mule4:partner-detail-extended as2Name="partnerc" x509Alias="partnerc" email="support@partnerc.com" />
				</as2-mule4:partner-configs>
			</as2-mule4:shared-mode>
		</as2-mule4:listener-mode>
		<as2-mule4:key-store-config keystorePassword="test" keystorePath="as2/partnera.p12" privateKeyPassword="test" />
	</as2-mule4:listener-config>
	<flow name="AS2Listener" >
		<as2-mule4:as2-listener doc:name="As 2 listener" config-ref="AS2_Server_Listener" path="/as2-receive"/>
		<logger level="INFO" doc:name="Message Received!" message="Message Received: #[payload]"/>
	</flow>
</mule>
xml

インライン式でパートナー情報を指定するには、次の XML コードを使用します。

<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns:as2-mule4="http://www.mulesoft.org/schema/mule/as2-mule4" 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/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/as2-mule4 http://www.mulesoft.org/schema/mule/as2-mule4/current/mule-as2-mule4.xsd">
	<http:listener-config name="HTTP_Server_Config" doc:name="HTTP Listener config" >
		<http:listener-connection host="0.0.0.0" port="8081" />
	</http:listener-config>

	<as2-mule4:listener-config name="AS2_Server_Listener" doc:name="AS2 Connector Listener config" httpListenerConfig="HTTP_Server_Config" securityLevel="SIGNED_ENCRYPTED">
    	<as2-mule4:self-config as2Name="partnera" x509Alias="partnera" email="support@partnera.com"/>
    	<as2-mule4:listener-mode >
        	<as2-mule4:shared-mode partnerConfigs='#[[&#10;	{as2Name:"partnerb", x509Alias:"partnerb", email:"support@partnerb.com"},&#10;	{as2Name:"partnerc", x509Alias:"partnerc", email:"support@partnerc.com"}&#10;]]' />
    	</as2-mule4:listener-mode>
    	<as2-mule4:key-store-config keystorePassword="test" keystorePath="as2/partnera.p12" privateKeyPassword="test" />
	</as2-mule4:listener-config>
	<flow name="AS2Listener" >
		<as2-mule4:as2-listener doc:name="As 2 listener" config-ref="AS2_Server_Listener" path="/as2-receive"/>
		<logger level="INFO" doc:name="Message Received!" message="Message Received: #[payload]"/>
	</flow>
</mule>
xml

設定した AS2 エンドポイントへのアウトバウンド AS2 メッセージの送信

このフローは、メッセージをリスンし、メッセージとそのペイロードをログに記録してから、​Send with Sync MDN​ 操作を使用して、公開した AS2 エンドポイントにメッセージを転送します。

公開したエンドポイントに AS2 メッセージを転送するためのフロー

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