適用対象: Azure Logic Apps (従量課金 + Standard)
企業間 (B2B) の統合では、Azure Logic Apps で B2B 成果物と業界標準プロトコルを使用してワークフローを構築することで、取引先間の通信を自動化できます。
たとえば、取引先、契約、マップ、スキーマなどの成果物を定義する統合アカウントを作成できます。 ワークフローでは、AS2、X12、EDIFACT、RosettaNet などのプロトコルがサポートされています。 これらの B2B 機能と 、Azure Logic Apps で使用できる 1,400 以上のコネクタ (Office 365 Outlook、SQL Server、Salesforce など) を組み合わせて、エンドツーエンドの統合を作成します。
このガイドでは、次のタスクを実行できる B2B ワークフローの例を作成する方法について説明します。
- HTTP 要求の受信時という名前の 要求 トリガー を使用して HTTPS 要求を受信します。
- AS2 (v2) デコード アクションと X12 デコード アクションを使用して、受信メッセージの内容をデコードします。
- 応答アクションを使用して呼び出し元に 応答 を返します。
前提条件
Azure アカウントとサブスクリプション。 無料の Azure アカウントを取得します。
この例で B2B 統合を構築するロジック アプリ リソースと空のワークフロー。
AS2 (v2) および X12 操作にはトリガーは含まれません。 ワークフローは、任意のトリガーから開始することも、任意のアクションを使用してメッセージを受信することもできます。
この記事の例では、HTTP 要求 を 受信したときにという名前の要求トリガーを使用します。
詳細については、以下を参照してください。
エンタープライズ統合と B2B ワークフローの成果物を定義および格納するための統合 アカウント リソース 。
統合アカウントとロジック アプリ リソースの両方が、同じ Azure サブスクリプションと Azure リージョンに存在する必要があります。
統合アカウントで少なくとも 2 つの 取引先 を定義します。 両方のパートナーの定義では、AS2、X12、EDIFACT、RosettaNet など、同じ ビジネス ID 修飾子を使用する必要があります。
ワークフローに参加する取引先間の AS2 契約と X12 契約 を定義します。 各契約には、ホスト パートナーとゲスト パートナーが必要です。
パートナー間のメッセージ内のコンテンツは、契約の種類と一致している必要があります。 メッセージの送受信時に使用する契約設定の詳細については、以下を参照してください。
AS2 および X12 の操作を開始する前に、従量課金ロジック アプリ または スタンダードロジック アプリ を統合アカウントにリンクする必要があります。これにより、取引先や契約などの成果物を操作できるようになります。 統合アカウントを複数の従量課金プランまたは標準ロジック アプリ リソースにリンクして、同じアーティファクトを共有できます。
AS2 操作と X12 操作を追加するときに、統合アカウントへの接続を作成する必要がある場合があります。
ロジック アプリワークフロー 接続が必要ですか? 従量課金 - AS2 (v2) コネクタ: 接続は必要ありません
- X12 コネクタ: 接続が必要Standard - AS2 (v2) コネクタ: 接続は必要ありません
- X12 組み込みコネクタ: 接続は必要ありません
要求トリガーを追加する
この例でワークフローを開始するには、 要求 トリガーを追加します。
Azure portal で、ロジック アプリ リソースを開きます。
デザイナーでワークフローを開きます。 HTTP 要求を受信したときにという名前の要求組み込みトリガーをワークフローに追加するには、次の一般的な手順に従います。
トリガー情報ペインが開き、[ パラメーター] タブが選択されています。
トリガーはフラット ファイル形式で X12 メッセージを受信するため、トリガーの 要求本文 JSON スキーマ パラメーターは空のままにします。
ワークフローを保存します。 デザイナーのツール バーで、 [保存] を選択します。
この手順では HTTP URL が生成されます。HTTP URL は、後でワークフローをトリガーする要求を送信するために使用します。
後で使用できるように、URL をコピーして保存します。
AS2 のデコード アクションを追加する
AS2 (v2) デコード アクションを追加するには、次の手順に従います。
要求トリガーの下で、次の一般的な手順に従って、ワークフローの種類に基づいて次の AS2 (v2) アクションを追加します。
Workflow アクション名 従量課金 AS2 デコード Standard AS2 のデコード アクションの [デコードするメッセージ] パラメーターで、デコードするメッセージの内容を指定します。
この例では、 要求 トリガーの出力から本文の内容を指定します。 このコンテンツは、動的コンテンツ リストから選択するか、式を入力することで指定できます。
前の操作からの出力を選択するには、動的コンテンツ リストに対して次の手順に従います。
bodyトリガーの出力から プロパティの内容を参照する式を入力するには、次の手順に従います。[ デコードするメッセージ ] ボックス内を選択し、関数アイコンを選択して式エディターを開きます。
エディター ボックスに次の式を入力し、[ 追加] を選択します。
triggerOutputs()['body']
アクションの Message headers パラメーターに、AS2 アクションに必要なヘッダーを入力します。 これらの値は、次の手順に従って、
headersトリガーの出力から プロパティで確認できます。
メッセージの受信確認
メッセージの受信を確認するには、 条件 アクションと応答アクションを使用して、AS2 メッセージ処理通知 (MDN) を含む 応答 を送信者に返します。
Important
AS2 アクションが成功した場合にワークフローが処理を続行するように、これらのアクションが AS2 アクションの直後にあることを確認します。 それ以外の場合、AS2 アクションが失敗した場合、ワークフローは処理を停止します。
アクション パスを選択する条件アクションを追加する
これらの手順では、AS2 (v2) デコード アクションが成功したかどうかに基づいて、評価する 1 つまたは複数の条件を指定し、実行するアクションを選択できるように、条件アクションを追加します。
デザイナーの AS2 (v2) デコード アクションで、次の 一般的な手順 に従って 、条件 組み込みアクションを追加します。
条件アクションが True および False の空のパスと共に表示されます。 後で、条件が true と false のどちらに評価されるかに基づいて、これらのパスで実行するアクションを追加します。
[条件] タイトル バーを選択してアクションを展開し、評価する条件を 1 つ以上指定できるようにします。
左側の [ 値の選択 ] ボックスに、ワークフローの種類に基づいて次の式を入力します。
従量課金
@body('AS2_Decode')?['messageContent']?['isMdnExpected']標準
@body('Decode_AS2')?['messageContent']?['isMdnExpected']Important
AS2 デコード アクション名と出力名が、選択した AS2 アクションの名前と一致していることを確認します。
中央の一覧から等号 (=) を選択します。
右側の [ 値の選択 ] ボックスに、
Expected値を入力します。
ワークフローを保存します。
アクション パスを設定する
これらの手順では、 AS2 (v2) デコード アクションが成功したかどうかに基づいて、実行するアクションと返される応答を指定します。
AS2 (v2) デコード アクションが成功した場合は、次の手順に従います。
[True] ボックスで、[アクションの追加] +プラス記号 (>) を選択します。
[ アクションの追加 ] 検索ボックスに「
response」と入力します。 [ 要求] で、 応答 の組み込みアクションを選択します。AS2 (v2) デコード アクション出力から AS2 MDN を参照するには、次の式を指定します。
アクションの Headers パラメーターに、キー値として次の式を入力します。
従量課金
@body('AS2_Decode')?['outgoingMdnContent']?['outgoingMdnHeaders']標準
@body('Decode_AS2')?['outgoingMdnContent']?['outgoingMdnHeaders']アクションの Body パラメーターに、次の式を入力します。
従量課金
@body('AS2_Decode')?['outgoingMdnContent']?['messageContent']標準
@body('Decode_AS2')?['outgoingMdnContent']?['messageContent']
Important
AS2 デコード アクション名と出力名が、選択した AS2 アクションの名前と一致していることを確認します。
次の例は、 応答 アクションの外観を示しています。
AS2 (v2) デコード アクションが失敗した場合は、次の手順に従います。
[ False ] ボックスで、プラス記号 (+) >アクションの追加を選択します。
[ アクションの追加 ] 検索ボックスに「
response」と入力します。 [ 要求] で、 応答 の組み込みアクションを選択します。必要な状態とエラーを返すように応答 アクションを設定します。
ワークフローを保存します。
[X12 メッセージをデコードする] アクションを追加する
X12 メッセージをデコードするには、次の手順に従います。
デザイナーの [応答 ] アクションで、次の 一般的な手順 に従って、ワークフローの種類に基づいて次の X12 デコード アクションを追加します。
Workflow アクション名 従量課金 X12 メッセージのデコード Standard X12 のデコード 詳細については、 Azure Logic Apps を使用した B2B ワークフローの Exchange X12 メッセージに関するページを参照してください。
接続の作成を求めるメッセージが表示された場合は、次の情報を入力し、[ 新規作成] を選択します。
- 接続名
- 統合アカウント ID
- 統合アカウントの SAS URL
詳細については、「 X12 メッセージのデコード」を参照してください。
アクション情報ウィンドウで、ワークフローの種類に基づいて、デコードするアクションのコンテンツを指定します。
Workflow アクション名 パラメーター名 従量課金 X12 メッセージのデコード デコードする X12 フラット ファイル メッセージ Standard X12 のデコード デコードするメッセージ この例では、 AS2 (v2) アクション出力のメッセージ コンテンツを使用します。 ただし、この出力では JSON オブジェクト形式が使用され、base64 でエンコードされます。 コンテンツを文字列に変換する必要があります。
コンテンツを変換するには、ワークフローの種類に基づいて、メッセージをデコードするボックスに次の式を入力します。
従量課金
@base64ToString(body('AS2_Decode')?['messageContent'])標準
@base64ToString(body('Decode_AS2')?['messageContent'])Important
AS2 デコード アクション名と出力名が、選択した AS2 アクションの名前と一致していることを確認します。
ワークフローを保存します。
式をトークンに解決するには、コード ビューとデザイナー ビューを切り替えます。 デザイナーのツール バーで、[ コード ビュー] を選択し、[デザイナー] を選択 します。
これで、この B2B ワークフローの例の設定が完了しました。 実際のアプリでは、デコードされた X12 コンテンツを基幹業務 (LOB) アプリまたはデータ ストアに格納できます。
詳細については、以下を参照してください。
独自の LOB アプリを接続し、ワークフローでこれらの API を使用するには、アクションを追加するか、 カスタム API を記述します。