Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerEDIFACT EDI 用 Anypoint Connector (EDIFACT Connector) を使用すると、リストとマップを使用して、DataWeave 互換の表現との間で EDIFACT メッセージを変換できます。
提供されているすべての標準メッセージのスキーマ定義については、サポート対象の EDIFACT バージョンで確認できます。
このコネクタを使用するには、以下に精通している必要があります。
Anypoint Connector
Mule Runtime Engine (Mule)
Mule フローの要素とグローバル要素
Anypoint Studio (Studio) を使用した Mule アプリケーションの作成
EDIFACT EDI Connector を使用するには、以下が必要です。
Anypoint B2B 用の MuleSoft ライセンス
Anypoint Studio 7.0 以降
EDIFACT Connector は最大 15 MB のサイズのファイルをサポートし、メモリ要件は約 40 対 1 です。 たとえば、1 MB のファイルは処理するために最大 40 MB のメモリが必要であるため、このメモリ要件を、大きな X12 ファイルの TPS (1 秒あたりのトランザクション数) のニーズと組み合わせて考慮することが重要です。 これは正確な数値ではありません。この値は、マッピング命令の複雑さによって異なります。 |
EDIFACT EDI Connector では、EDI スキーマ言語 (ESL) と呼ばれる YAML 形式を使用して EDI スキーマを表します。基本 ESL では、次の観点で EDI メッセージの構造が定義されます。
EDIFACT 用語としての構造 (メッセージと呼ばれる)
グループ、セグメント、複合、要素
オーバーレイスキーマを定義することで、ユーザーのデータに合わせて EDIFACT スキーマ定義をカスタマイズできます。オーバーレイスキーマは ESL の 1 つの種別であり、これを使用して、ユーザー固有の規定でベーススキーマ (EDIFACT D.98B ORDERS スキーマなど) を変更できます。標準で定義されている構造を使用する場合、オーバーレイスキーマは不要ですが、ほとんどの EDI エクスチェンジの実装規定でベース定義が変更されています。
また、独自のスキーマを定義したり、ベース EDIFACT スキーマ定義をコピーしてデータに合わせて編集したりできます (「EDI スキーマ言語リファレンス」を参照)。
このコネクタを使用するには、プロジェクトのスキーマの場所を把握しておく必要があります。ベース EDIFACT スキーマを使用して、何もカスタマイズしていない場合、スキーマの場所は /edifact/{version}/{message}.esl
規定に従います。
たとえば、D.98B バージョンの ORDERS メッセージを使用している場合、スキーマの場所は /edifact/d98b/ORDERS.esl
になります。
1 つ以上のカスタムスキーマを使用している場合、それらを src/main/resources
ディレクトリに配置し、このディレクトリを基準とする相対的な場所を参照します。
たとえば、ORDERS スキーマ (オーバーレイまたはフル) を src/main/resources/mypartner/ORDERS.esl
に配置した場合、スキーマの場所は /mypartner/ORDERS.esl
になります。
このコネクタを使用して、正規の EDI メッセージ構造との間で EDIFACT ドキュメントの読み書きを行います。この構造は、Java マップおよびリストオブジェクトの階層です。DataWeave またはコードを使用してこれらを操作します。トランザクションごとに、スキーマで定義される独自の構造があります。
メッセージには以下のキーが含まれます。一部のキーは、示されているように Read 操作または Write 操作のどちらかに適用されます。
キー名 | 説明 |
---|---|
Delimiters |
メッセージ内で使用する省略可能な区切り文字セット。Read 操作で使用する場合、区切り文字は、Read 操作で処理された最新のインターチェンジに基づきます。Write 操作で使用する場合、区切り文字はモジュール設定の値を上書きします。区切り文字の文字列内の文字は、文字列内の位置に基づいて、データ要素の区切り文字、コンポーネント要素の区切り文字、反復の区切り文字、セグメントの終端文字、リリース文字の順に解釈されます。 |
Errors (参照のみ) |
入力全体または有効なトランザクションセットのないインターチェンジに関連付けられているエラーのリスト。 |
FunctionalAcksGenerated (参照のみ) |
Read 操作中にモジュールによって生成された |
FunctionalAcksToSend (書き込みのみ) |
Write 操作中にモジュールによって送信された |
Interchange (書き込みのみ) |
インターチェンジの Write 操作中にデフォルトとして使用する UNB インターチェンジヘッダーセグメントの値のマップ。 |
Messages |
Read 操作中にモジュールにより読み取られるメッセージまたは Write 操作中にモジュールにより送信されるメッセージの階層。この最上位キーの値は、キーとしての標準バージョンへのマップで、 |
個々のメッセージには、以下のキーを持つ独自のマップがあります。
キー | 説明 |
---|---|
Detail |
メッセージの詳細セクションからのセグメントまたはループのマップ。値は、1 回のみ発生するセグメントまたはループのマップです。複数回発生する値には、マップのリストが使用されます。 |
Errors (参照のみ) |
メッセージに関連付けられたエラーのリスト。 |
Heading |
メッセージの見出しセクションからのセグメントまたはループのマップ。値は、1 回のみ発生するセグメントまたはループのマップです。マップのリストは複数回発生する値のために存在します。 |
Id |
メッセージ ID は、含まれているメッセージリストのキーに一致する必要があります。 |
Interchange |
UNB インターチェンジヘッダーセグメントの値のマップ。Read メッセージの場合、マップは、囲んでいるインターチェンジからの実際のデータになります。これは、インターチェンジ内のすべてのメッセージからリンクされた 1 つのマップです。Write メッセージの場合、マップ値により、囲んでいるインターチェンジが作成されます。たとえば、実際のマップが同じかどうかに関係なく、同じインターチェンジ値を持つメッセージを 1 つのインターチェンジに集めます。このマップの値がない場合、デフォルトは、メッセージレベルのインターチェンジマップから取得された値になります。 |
Group (グループ) |
UNG グループヘッダーセグメント値が含まれるマップ。
|
MessageHeader |
UNH メッセージヘッダーセグメントの値のマップ。これにより、Read 操作の実際のヘッダーデータが提供され、Write 操作の設定の上書きを提供できます。 |
Name |
メッセージ名。 |
Summary (概要) |
メッセージの概要セクションからのセグメントまたはループのマップ。値は、1 回のみ発生するセグメントまたはループのマップです。複数回発生する値には、マップのリストが使用されます。 |
生成された CONTRL 機能肯定応答メッセージは、インターチェンジ情報の処理で受信したメッセージとは異なります。
キー名 | 説明 |
---|---|
Interchange |
受信処理で生成された機能肯定応答の場合、このマップは、送信者と受信者の ID コンポーネント (UNB2.1/UNB2.2 および UNB2.1/UNB3.2) を持つ、含まれているインターチェンジのデータのコピーになります。Write メッセージの場合、これらの値は、囲んでいるインターチェンジを作成するために使用されます。たとえば、実際のマップが同じかどうかに関係なく、同じインターチェンジ値を持つメッセージを 1 つのインターチェンジに集めます。このマップの値がない場合、デフォルトは、メッセージレベルのインターチェンジマップから取得された値になります。 |
前提条件を満たしたら、Anypoint Studio で独自のアプリケーションを作成してコネクタを設定できます。