次の方法で共有


Azure Logic Apps のワークフローを使用して取引先間の B2B メッセージを自動化する

適用対象: 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 組み込みコネクタ: 接続は必要ありません

要求トリガーを追加する

この例でワークフローを開始するには、 要求 トリガーを追加します。

  1. Azure portal で、ロジック アプリ リソースを開きます。

  2. デザイナーでワークフローを開きます。 HTTP 要求を受信したときにという名前の要求組み込みトリガーをワークフローに追加するには、次の一般的な手順に従います。

    トリガー情報ペインが開き、[ パラメーター] タブが選択されています。

  3. トリガーはフラット ファイル形式で X12 メッセージを受信するため、トリガーの 要求本文 JSON スキーマ パラメーターは空のままにします。

    Azure portal、ワークフロー デザイナー、要求トリガーのパラメーターを示すスクリーンショット。

  4. ワークフローを保存します。 デザイナーのツール バーで、 [保存] を選択します。

    この手順では HTTP URL が生成されます。HTTP URL は、後でワークフローをトリガーする要求を送信するために使用します。

    ワークフロー デザイナー、要求トリガー パラメーター、および要求トリガーの生成された URL を示すスクリーンショット。

  5. 後で使用できるように、URL をコピーして保存します。

AS2 のデコード アクションを追加する

AS2 (v2) デコード アクションを追加するには、次の手順に従います。

  1. 要求トリガーの下で、次の一般的な手順に従って、ワークフローの種類に基づいて次の AS2 (v2) アクションを追加します。

    Workflow アクション名
    従量課金 AS2 デコード
    Standard AS2 のデコード
  2. アクションの [デコードするメッセージ] パラメーターで、デコードするメッセージの内容を指定します。

    この例では、 要求 トリガーの出力から本文の内容を指定します。 このコンテンツは、動的コンテンツ リストから選択するか、式を入力することで指定できます。

    • 前の操作からの出力を選択するには、動的コンテンツ リストに対して次の手順に従います。

      1. [デコードするメッセージ] ボックス内を選択し、稲妻アイコンを選択して動的コンテンツ リストを開きます。

      2. HTTP 要求の受信時で、本文を選択します。次に例があります。

        ワークフロー デザイナー、要求トリガー パラメーター、および Body パラメーターが選択された動的コンテンツ リストを示すスクリーンショット。

        Note

        動的コンテンツ リストに Body が表示されない場合は、[ HTTP 要求を受信したとき ] セクション ラベルの横にある [ 詳細を表示] を選択します。

    • bodyトリガーの出力から プロパティの内容を参照する式を入力するには、次の手順に従います。

      1. [ デコードするメッセージ ] ボックス内を選択し、関数アイコンを選択して式エディターを開きます。

      2. エディター ボックスに次の式を入力し、[ 追加] を選択します。

        triggerOutputs()['body']

  3. アクションの Message headers パラメーターに、AS2 アクションに必要なヘッダーを入力します。 これらの値は、次の手順に従って、headersトリガーの出力から プロパティで確認できます。

    1. [ メッセージ ヘッダー ] セクションで、[ メッセージ ヘッダーをテキスト モードに切り替える] を選択します。

      [メッセージ ヘッダーをテキスト モードに切り替える] が選択されている AS2 デコード アクションを示すスクリーンショット。

    2. [ メッセージ ヘッダー ] ボックス内を選択し、関数アイコンを選択して式エディターを開きます。

    3. エディター ボックスに次の式を入力し、[ 追加] を選択します。

      triggerOutputs()['Headers']

      スクリーンショットは、トリガー出力のヘッダーを参照する式を含む [メッセージ ヘッダー] ボックスを示しています。

    4. 式を Headers トークンに解決するには、デザイナーのツール バーで [ コード ビュー] を選択し、[ デザイナー] を選択します。

メッセージの受信確認

メッセージの受信を確認するには、 条件 アクションと応答アクションを使用して、AS2 メッセージ処理通知 (MDN) を含む 応答 を送信者に返します。

Important

AS2 アクションが成功した場合にワークフローが処理を続行するように、これらのアクションが AS2 アクションの直後にあることを確認します。 それ以外の場合、AS2 アクションが失敗した場合、ワークフローは処理を停止します。

アクション パスを選択する条件アクションを追加する

これらの手順では、AS2 (v2) デコード アクションが成功したかどうかに基づいて、評価する 1 つまたは複数の条件を指定し、実行するアクションを選択できるように、条件アクションを追加します。

  1. デザイナーの AS2 (v2) デコード アクションで、次の 一般的な手順 に従って 、条件 組み込みアクションを追加します。

    条件アクションが True および False の空のパスと共に表示されます。 後で、条件が true と false のどちらに評価されるかに基づいて、これらのパスで実行するアクションを追加します。

    空のパスを含む [条件] アクションを示すスクリーンショット。

  2. [条件] タイトル バーを選択してアクションを展開し、評価する条件を 1 つ以上指定できるようにします。

  3. 左側の [ 値の選択 ] ボックスに、ワークフローの種類に基づいて次の式を入力します。

    従量課金

    @body('AS2_Decode')?['messageContent']?['isMdnExpected']

    標準

    @body('Decode_AS2')?['messageContent']?['isMdnExpected']

    Important

    AS2 デコード アクション名と出力名が、選択した AS2 アクションの名前と一致していることを確認します。

  4. 中央の一覧から等号 (=) を選択します。

  5. 右側の [ 値の選択 ] ボックスに、 Expected値を入力します。

    評価する条件の例を示す [条件] アクションを示すスクリーンショット。

  6. ワークフローを保存します。

アクション パスを設定する

これらの手順では、 AS2 (v2) デコード アクションが成功したかどうかに基づいて、実行するアクションと返される応答を指定します。

  1. AS2 (v2) デコード アクションが成功した場合は、次の手順に従います。

    1. [True] ボックスで、[アクションの追加] +プラス記号 (>) を選択します

    2. [ アクションの追加 ] 検索ボックスに「 response」と入力します。 [ 要求] で、 応答 の組み込みアクションを選択します。

    3. 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 MDN にアクセスする応答アクションと解決された式を示しています。

  2. AS2 (v2) デコード アクションが失敗した場合は、次の手順に従います。

    1. [ False ] ボックスで、プラス記号 (+) >アクションの追加を選択します

    2. [ アクションの追加 ] 検索ボックスに「 response」と入力します。 [ 要求] で、 応答 の組み込みアクションを選択します。

    3. 必要な状態とエラーを返すように応答 アクションを設定します。

  3. ワークフローを保存します。

[X12 メッセージをデコードする] アクションを追加する

X12 メッセージをデコードするには、次の手順に従います。

  1. デザイナーの [応答 ] アクションで、次の 一般的な手順 に従って、ワークフローの種類に基づいて次の X12 デコード アクションを追加します。

    Workflow アクション名
    従量課金 X12 メッセージのデコード
    Standard X12 のデコード

    詳細については、 Azure Logic Apps を使用した B2B ワークフローの Exchange X12 メッセージに関するページを参照してください。

  2. 接続の作成を求めるメッセージが表示された場合は、次の情報を入力し、[ 新規作成] を選択します。

    • 接続名
    • 統合アカウント ID
    • 統合アカウントの SAS URL

    詳細については、「 X12 メッセージのデコード」を参照してください。

  3. アクション情報ウィンドウで、ワークフローの種類に基づいて、デコードするアクションのコンテンツを指定します。

    Workflow アクション名 パラメーター名
    従量課金 X12 メッセージのデコード デコードする X12 フラット ファイル メッセージ
    Standard X12 のデコード デコードするメッセージ

    この例では、 AS2 (v2) アクション出力のメッセージ コンテンツを使用します。 ただし、この出力では JSON オブジェクト形式が使用され、base64 でエンコードされます。 コンテンツを文字列に変換する必要があります。

    コンテンツを変換するには、ワークフローの種類に基づいて、メッセージをデコードするボックスに次の式を入力します。

    従量課金

    @base64ToString(body('AS2_Decode')?['messageContent'])

    標準

    @base64ToString(body('Decode_AS2')?['messageContent'])

    Important

    AS2 デコード アクション名と出力名が、選択した AS2 アクションの名前と一致していることを確認します。

  4. ワークフローを保存します。

  5. 式をトークンに解決するには、コード ビューとデザイナー ビューを切り替えます。 デザイナーのツール バーで、[ コード ビュー] を選択し、[デザイナー] を選択 します

これで、この B2B ワークフローの例の設定が完了しました。 実際のアプリでは、デコードされた X12 コンテンツを基幹業務 (LOB) アプリまたはデータ ストアに格納できます。

詳細については、以下を参照してください。

独自の LOB アプリを接続し、ワークフローでこれらの API を使用するには、アクションを追加するか、 カスタム API を記述します