Azure Logic Apps でワークフローを使用して EDIFACT メッセージを交換する

Azure Logic Apps を使用して作成したワークフローで EDIFACT メッセージを送受信するには、EDIFACT コネクタを使用します。これにより、EDIFACT 通信をサポートして管理するための操作が提供されます。

このガイドでは、EDIFACT エンコードおよびデコード アクションを既存のロジック アプリ ワークフローに追加する方法について説明します。 EDIFACT トリガーが使用できない場合は、任意のトリガーでワークフローを開始できます。 このガイドの例では、要求トリガーを使用します。

コネクタに関するテクニカル リファレンス

EDIFACT コネクタのバージョンは、ロジック アプリの種類とホスト環境基づいて異なります。

ロジック アプリ 環境 コネクタのバージョン
従量課金プラン マルチテナント Azure Logic Apps EDIFACT マネージド コネクタ (Standard クラス)。 EDIFACT コネクタはアクションのみを提供しますが、シナリオに適した任意のトリガーを使用できます。 詳しくは、次のドキュメントをご覧ください。

- EDIFACT マネージド コネクタ リファレンス
- EDIFACT メッセージの制限
従量課金プラン 統合サービス環境 (ISE) EDIFACT マネージド コネクタ (Standard クラス) と EDIFACT I Standard Edition バージョン。Standard クラスとは異なるメッセージ制限があります。 EDIFACT コネクタはアクションのみを提供しますが、シナリオに適した任意のトリガーを使用できます。 詳しくは、次のドキュメントをご覧ください。

- EDIFACT マネージド コネクタ リファレンス
- EDIFACT メッセージの制限
Standard シングルテナント Azure Logic Apps と App Service Environment v3 (Windows プランのみ) EDIFACT 組み込みコネクタ (プレビュー) と EDIFACT マネージド コネクタ。 組み込みバージョンには次のような違いがあります。

組み込み式バージョンはアクションのみを提供しますが、シナリオに適した任意のトリガーを使用できます。

- 組み込みバージョンは、Azure 仮想ネットワークに直接アクセスできます。 オンプレミス データ ゲートウェイは必要ありません。

詳しくは、次のドキュメントをご覧ください。

- EDIFACT マネージド コネクタ リファレンス
- EDIFACT 組み込みコネクタ操作
- EDIFACT メッセージの制限

EDIFACT 組み込み操作 (標準ワークフローのみ - プレビュー)

プレビュー EDIFACT 組み込みコネクタには次のアクションがあります。これは、制限事項と既知の問題に記載されている場合を除き、対応する EDIFACT マネージド コネクタ アクションと似ています。

制限事項と既知の問題

  • Preview EDIFACT 組み込みコネクタ

    • この機能はプレビュー段階にあり、「Microsoft Azure プレビューの追加使用条件」が適用されます。

    • 現在、このコネクタのアクションでは、最大 100 MB (メガバイト)のペイロードがサポートされています。

    • 現在、プレビュー EDIFACT デコード アクションには、次の機能は含まれていません。

      • 構成されている場合は、インターチェンジ、グループ、およびトランザクション セットの制御番号が重複しているかどうかを確認します。

      • インターチェンジ全体を保持します。

      それ以外の場合、プレビュー の EDIFACT エンコード および EDIFACT デコード 組み込みコネクタ アクションには、対応する EDIFACT マネージド コネクタ アクションと同様の 機能があります。

    • 現在、このコネクタのアクションでは、複数のトランザクションまたはバッチ メッセージを含むインターチェンジはサポートされていません。

    • このコネクタのアクションは、現在 EDI 固有の追跡を出力していません。

前提条件

  • Azure アカウントとサブスクリプション。 サブスクリプションをまだお持ちでない場合には、無料の Azure アカウントにサインアップしてください。

  • エンタープライズ統合および B2B ワークフローで使用する成果物 (取引先、契約、証明書など) を定義して保存する統合アカウント リソース。 このリソースでは、次の要件が満たされている必要があります。

    • 統合アカウントとロジック アプリ リソースの両方が、同じ Azure サブスクリプションと Azure リージョンに存在する必要があります。

    • ワークフローで使用される EDIFACT 操作に参加する少なくとも 2 つの取引先を定義します。 両方の取引先の定義では、同じ "ビジネス ID" 修飾子 (このシナリオでは [ZZZ - 相互定義] ) を使用する必要があります。

    • ワークフローに参加する取引先間の EDIFACT 契約を定義します。 契約には、ホスト パートナーとゲスト パートナーが必要です。 他の取引先との間のメッセージの内容が、契約の種類と一致している必要があります。 メッセージの送受信時に使用する契約設定については、「EDIFACT メッセージ設定」を参照してください。

      重要

      EDIFACT コネクタでは、UTF-8 文字のみがサポートされます。 出力に予期しない文字が含まれている場合は、EDIFACT メッセージで UTF-8 文字セットが使用されていることを確認します。

  • 従量課金 または Standard のいずれのロジック アプリ ワークフローで作業しているかに基づいて、ロジック アプリ リソースが統合アカウントのリンクを必要な場合があります:

    ロジック アプリワークフロー リンクが必要ですか?
    従量課金 統合アカウントへの接続とリンクが必要です。 EDIFACT 操作をワークフローに追加するときに接続を作成できます。
    Standard 統合アカウントへの接続は必要ですが、リンクは必要ありません。 EDIFACT 操作をワークフローに追加するときに接続を作成できます。
  • EDIFACT 操作を使用するロジック アプリ リソースとワークフロー。

    詳しくは、次のドキュメントをご覧ください。

EDIFACT メッセージをエンコードする

EDIFACT メッセージへのエンコード アクションという名前の EDIFACT マネージド コネクタ アクションと EDIFACT Encode という名前の EDIFACT 組み込みコネクタ アクションは、制限事項と既知の問題記載されている場合を除き、次のタスクを実行します。

  • 送信者の修飾子および識別子を受信者の修飾子および識別子と照合することで、契約を解決します。

  • 電子データ交換 (EDI) をシリアル化します。これによって、XML エンコード メッセージがインターチェンジ内の EDI トランザクション セットに変換されます。

  • トランザクション セット ヘッダーおよびトレーラ セグメントを適用します。

  • 各送信インターチェンジのインターチェンジ制御番号、グループ制御番号、およびトランザクション セット制御番号を生成します。

  • ペイロード データの区切り記号を置換します。

  • メッセージ スキーマと照らし合わせたトランザクション セット データ要素のスキーマ、トランザクション セット データ要素、トランザクション セット データ要素に対する拡張検証など、EDI および取引先固有のプロパティを検証します。

  • 各トランザクション セットの XML ドキュメントを生成します。

  • 技術確認、機能確認、またはその両方を要求します (構成されている場合)。

    • 技術確認として、CONTRL メッセージはインターチェンジの受信を示します。

    • 機能確認として、CONTRL メッセージは、エラーまたはサポートされていない機能の一覧を含む、受信したインターチェンジ、グループ、またはメッセージの受理または拒否を示します。

  1. Azure portal のデザイナーで、ロジック アプリ リソースとワークフローを開きます。

  2. デザイナーで、次の一般的な手順に従って、契約名によって EDIFACT メッセージにエンコードするという名前EDIFACT アクションをワークフローに追加します

    Note

    代わりに ID アクションによる EDIFACT メッセージへのエンコードを使用する場合は、EDIFACT 契約で指定されている送信者識別子受信者識別子など、後で別の値を指定する必要があります。 また、"エンコードする XML メッセージ" を指定する必要もあります。これは、トリガーまたは前のアクションからの出力です。

  3. 統合アカウントの次の接続情報を指定します。

    プロパティ Required 説明
    接続名 はい 接続の名前
    統合アカウント はい 使用可能な統合アカウントの一覧から、使用するアカウントを選択します。

    次に例を示します。

    Screenshot shows Azure portal, Consumption workflow, and connection box for action named Encode to EDIFACT message by agreement name.

  4. 完了したら [作成] を選択します。

  5. EDIFACT アクションで、次のプロパティ値を指定します。

    プロパティ Required 説明
    EDIFACT 契約の名前 はい 使用する EDIFACT 契約。
    エンコードする XML メッセージ はい EDIFACT 契約で指定されているメッセージ送信者のビジネス識別子
    その他のパラメーター いいえ この操作には、次の他のパラメーターが含まれています。

    - データ要素区切り記号
    - リリース インジケータ
    - コンポーネントの区切り記号
    - 繰り返し区切り記号
    - セグメント終端記号
    - セグメント終端記号のサフィックス
    - 小数点

    詳細については、EDIFACT メッセージ設定を参照してください

    たとえば、エンコードする XML メッセージ ペイロードには 、要求トリガーからの本文 コンテンツ出力を指定できます。

    Screenshot shows Consumption workflow, action named Encode to EDIFACT message by agreement name, and message encoding properties.

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

EDIFACT メッセージをデコードする

Decode EDIFACT メッセージ アクションという名前の EDIFACT マネージド コネクタ アクションと EDIFACT Decode という名前の EDIFACT 組み込みコネクタ アクションは、制限事項と既知の問題に記載されている場合を除き、次のタスクを実行します。

  • 取引先契約と照らし合わせてエンベロープを検証します。

  • 送信者の修飾子および識別子を受信者の修飾子および識別子と照合することで、契約を解決します。

  • トランザクションに契約の "受信設定" に基づく複数のトランザクション セットがある場合は、インターチェンジを複数のトランザクションに分割します。

  • インターチェンジの逆アセンブル

  • 電子データ交換 (EDI) と取引先固有のプロパティ (インターチェンジ エンベロープの構造、制御スキーマに照らし合わせたエンベロープ スキーマ、メッセージ スキーマに照らし合わせたトランザクション セット データ要素のスキーマ、トランザクション セット データ要素の拡張検証など) を検証します。

  • インターチェンジ、グループ、およびトランザクション セットの制御番号が重複していないことを確認します (マネージド コネクタのみ)。

    • インターチェンジ制御番号を、以前に受信したインターチェンジと比較して確認します。

    • インターチェンジ内の他のグループ制御番号と照らし合わせて、グループ制御番号を確認します。

    • グループ内の他のトランザクション セット制御番号と照らし合わせて、トランザクション セット制御番号を確認します。

  • インターチェンジをトランザクション セットに分割するか、インターチェンジ全体を保持します (マネージド コネクタのみ)。

    • インターチェンジをトランザクション セットとして分割 - エラー発生時にトランザクション セットを中断します。

      デコード アクションにより、インターチェンジをトランザクション セットに分割し、各トランザクション セットを解析します。 このアクションは、検証が失敗したこれらのトランザクション セットのみを badMessages に出力し、残りのトランザクション セットを goodMessages に出力します。

    • インターチェンジをトランザクション セットとして分割 - エラー発生時にインターチェンジを中断します。

      デコード アクションにより、インターチェンジをトランザクション セットに分割し、各トランザクション セットを解析します。 インターチェンジの 1 つ以上のトランザクション セットが検証に失敗した場合、このアクションはそのインターチェンジのすべてのトランザクション セットを badMessages に出力します。

    • インターチェンジの保存 - エラー発生時にトランザクション セットを中断します。

      デコード アクションは、インターチェンジを保持し、バッチ インターチェンジ全体を処理します。 このアクションは、検証が失敗したこれらのトランザクション セットのみを badMessages に出力し、残りのトランザクション セットを goodMessages に出力します。

    • インターチェンジの保存 - エラー発生時にインターチェンジを中断します。

      デコード アクションは、インターチェンジを保持し、バッチ インターチェンジ全体を処理します。 インターチェンジの 1 つ以上のトランザクション セットが検証に失敗した場合、このアクションはそのインターチェンジのすべてのトランザクション セットを badMessages に出力します。

  • 技術確認、機能確認、またはその両方を生成します (構成されている場合)。

    • 技術確認または制御確認。これは、完全に受信したインターチェンジの構文チェックの結果を報告します。

    • 受信したインターチェンジまたはグループの承認または拒否を確認する機能確認。

  1. Azure portal のデザイナーで、ロジック アプリ リソースとワークフローを開きます。

  2. デザイナーで、次の一般的な手順に従って、EDIFACT メッセージのデコード という名前の EDIFACT アクションをワークフローに追加します

  3. 統合アカウントの次の接続情報を指定します。

    プロパティ Required 説明
    接続名 はい 接続の名前
    統合アカウント はい 使用可能な統合アカウントの一覧から、使用するアカウントを選択します。

    次に例を示します。

    Screenshot shows Consumption workflow designer and connection pane for the action named Decode EDIFACT message.

  4. 完了したら [作成] を選択します。

  5. EDIFACT アクションで、次のプロパティ値を指定します。

    プロパティ Required 説明
    デコードする EDIFACT フラット ファイル メッセージ はい デコードする XML フラット ファイル メッセージ。
    その他のパラメーター いいえ この操作には、次の他のパラメーターが含まれています。

    - コンポーネントの区切り記号
    - データ要素区切り記号
    - リリース インジケータ
    - 繰り返し区切り記号
    - セグメント終端記号
    - セグメント終端記号のサフィックス
    - 小数点
    - ペイロード文字セット
    - セグメント終端記号のサフィックス
    - インターチェンジの保存
    - エラー発生時にインターチェンジを中断

    詳細については、EDIFACT メッセージ設定を参照してください

    たとえば、デコードする XML メッセージ ペイロードは、Request トリガーからの Body コンテンツ出力にすることができます。

    Screenshot shows Consumption workflow, action named Decode EDIFACT message, and message decoding properties.

EDIFACT ドキュメント内の UNH 2.5 セグメントを処理する

EDIFACT ドキュメントでは、スキーマの検索に UNH2.5 セグメントが使用されます。 たとえば、このサンプルの EDIFACT メッセージでは、UNH フィールドは EAN008 です。

UNH+SSDD1+ORDERS:D:03B:UN:EAN008

EDIFACT ドキュメントを処理したり、UN2.5 セグメントを含む EDIFACT メッセージを処理したりするには、次の手順を実行します。

  1. UNH 2.5 のルート ノード名を持つスキーマを更新またはデプロイします。

    たとえば、サンプルの UNH フィールドのスキーマ ルート名が EFACT_D03B_ORDERS_EAN008 であるとします。 UNH2.5 セグメントが異なる D03B_ORDERS ごとに、個別のスキーマをデプロイする必要があります。

  2. Azure portal で、従量課金と標準のどちらのロジック アプリ ワークフローがあるかに基づいて、統合アカウント リソースまたはロジック アプリ リソースにスキーマを追加します。

  3. EDIFACT のデコードまたはエンコードのアクションを使用しているかどうかにかかわらず、スキーマをアップロードし、EDIFACT 契約の [受信設定] または [送信設定] セクションでスキーマ設定を設定します。

  4. EDIFACT 契約を編集するには、 [アグリーメント] ペインで契約を選択します。 [アグリーメント] ペインのツールバーで、 [JSON として編集] を選択します。

    • 契約の receiveAgreement セクションで、schemaReferences セクションを見つけて、UNH2.5 の値を追加します。

      Screenshot showing the Azure portal with an EDIFACT agreement's

    • 契約の sendAgreement セクションで、schemaReferences セクションを見つけて、UNH2.5 の値を追加します。

      Screenshot showing the Azure portal with an EDIFACT agreement's

次のステップ