EDIFACT EDI Connector 2.4 のスキーマの設定 - Mule 4

すべての定義済みの EDIFACT メッセージに対するスキーマの標準バージョンとサポートされるバージョンがこのコネクタに付属します。実装規定が標準とは異なる場合、スキーマを作成し、メッセージを記述することができます。

スキーマの場所の設定

Anypoint Studio でスキーマを設定する手順は、次のとおりです。

  1. [Configuration XML (設定 XML)]​ をクリックして、XML ビューに切り替えます。

  2. ドキュメント種別ごとに <http://edischema[edi:schema]> 要素を追加することで、すべてのスキーマのリストが含まれるように EDIFACT EDI 設定を変更します。

<edifact-edi:config name="EDIFACT_EDI__Configuration" identKeys="true" doc:name="EDIFACT EDI: Configuration">
  <edifact-edi:schemas>
    <edifact:schema value="/edifact/d96a/ORDERS.esl"/>
  </edifact-edi:schemas>
</edifact-edi:config>

Studio で EDIFACT EDI のグローバル要素を作成したら、スキーマと操作を設定します。

XML での設定オプション

Studio 設定に含まれるすべての値を XML で直接設定できます。

一般パラメーターでは、送信と受信の両方のドキュメント処理を制御します。

XML 値 Studio オプション

schemas=値のリスト

コネクタで使用できるスキーマパスのリスト。各パスでファイルシステムまたは ​classpath​ のどちらかを使用できます。

stringSubstitutionChar

構文レベル UNOA または UNOB を使用する場合に文字列値内の無効な文字を置き換えるために使用する置き換え文字。

separatorUsage="​USE_DEFAULTS​" "​USE_SPECIFIED_FOR_WRITES​" "​USE_SPECIFIED_FOR_ALL​"

区切り文字またはリリース文字をメッセージのデフォルトとして使用するための仕様。

dataSeparator="+"

データ要素の区切り文字。

componentSeparator=":"

コンポーネント要素の区切り文字。

repetitionSeparator="*"

反復の区切り文字。

segmentTerminator="'"

セグメントの終端文字。

releaseCharacter="?"

リリース文字。

セルフ ID パラメーター

これらのパラメーターを使用して、取引パートナーリレーションの自分側を識別します。

XML 値 Studio オプション

interchangeIdSelf

Mule インターチェンジ送信者または受信者 ID (UNB2.1/UNB3.1)。

interchangeIdQualifierSelf

インターチェンジ送信者または受信者 ID 修飾子 (UNB2.2/UNB3.2)。

パートナーの ID パラメーター

これらのパラメーターでパートナーを識別します。

XML 値 Studio オプション

interchangeIdPartner

Mule アプリケーションのパートナーインターチェンジ送信者または受信者 ID (UNB2.1/UNB3.1)。

interchangeIdQualifierPartner

パートナーインターチェンジ送信者または受信者 ID 修飾子 (UNB2.2/UNB3.2)。

エラー条件のパーサーパラメーター

これらのパラメーターでパーサー操作と、受信メッセージを拒否するエラー条件の種別を制御します。

XML 値 (デフォルト) Studio オプション

enforceLengthLimits="true"

受信値の最小長と最大長を適用します。

truncateExceedingMaxLength="false"

受信値の最大長に切り捨てます。

enforceValueRepeats="true"

受信値の反復数制限を適用します。

enforceReadCharacters="true"

Read 操作の有効な文字を適用します。構文レベル ​UNOA​ および ​UNOB​ を使用する場合にのみ適用されます。

allowUnknownSegments="false"

メッセージ内の不明なセグメントを許可します。

enforceSegmentOrder="true"

メッセージ内のセグメント順序を適用します。

allowUnusedSegments="false"

メッセージ内で ​Unused​ としてマークされたセグメントを許可します。

enforceSegmentRepeats="true"

メッセージ内のセグメントの反復数制限を適用します。

receiveEncodingOverride="false"

受信メッセージで使用する Java 文字エンコード。これは受信 UNB を上書きします。

requireUniqueInterchanges="true"

一意のインターチェンジ制御参照を要求します (UNB.5 など)。デフォルトの動作では、以前に処理されたインターチェンジ番号が記録され、同じパートナーからの重複するインターチェンジ番号が拒否されます。この番号はインターチェンジの送信者および受信者 ID から派生します。​false​ に設定すると、受信したインターチェンジの処理を続行でき、アプリケーションフローに従って番号が追跡され、適切に管理されます。

requireUniqueMessages="false"

受信したメッセージのグローバルで一意のメッセージ参照番号 (UNH.1) を適用します。デフォルトでは、メッセージ参照番号は特定のインターチェンジ内でのみ一意である必要があります。​true​ に設定すると、同じパートナーおよびアプリケーションから受信したすべてのインターチェンジでメッセージ参照番号が一意であることが要求されます。この番号はインターチェンジの送信者および受信者 ID から派生します。

daysToStore="30"

一意性を確認するためにインターチェンジ、グループ、およびメッセージ番号を保存する最小日数。

ライターパラメーター

これらのパラメーターでライター操作の種別を制御します。

XML 値 Studio オプション

characterEncoding="​ASCII_B​"

メッセージの書き込みで使用する文字エンコード。各 EDIFACT 構文バージョンで 1 つ定義されている必要があります。

sendSyntaxVersion="VERSION4"

送信メッセージの構文バージョン。送信と受信の DataSense メタデータ内のサービスセグメントおよび CONTRL 肯定応答メッセージ構造で使用するデータ構造を決定するために使用されます。

lineEnding="NONE" "LF" "CRLF" "CR"

セグメント間に追加する行末。セグメント間に行末を追加して、出力メッセージテキストを読みやすくします。

alwaysSendUNA="false"

UNA サービスセグメントを常に送信します。構文の区切り文字が、使用中の構文バージョンと文字エンコードの両方のデフォルトに一致しない場合にのみ、UNA がインターチェンジに含まれます。​true​ に設定すると、UNA は常に送信されます。

enforceWriteCharacters="true"

Write 操作の有効な文字を適用します。これは、構文レベル ​UNOA​ および ​UNOB​ を使用する場合に適用されます。

sendUniqueMessageNumbers="false"

一意のメッセージ参照番号を送信します (UNH.1)。​false​ (デフォルト) では、メッセージ参照番号は各インターチェンジ内で順次割り当てられ、異なるインターチェンジで再利用されます。​true​ では、同じパートナーに送信されたすべてのインターチェンジで一意のトランザクションセット番号が割り当てられます。この番号はインターチェンジの送信者および受信者 ID から派生します。

initialInterchangeReference="1"

送信メッセージで使用する初期インターチェンジ制御参照。

initialMessageReference="1"

送信メッセージで使用する初期メッセージ参照番号。

requestAcks="false"

肯定応答要求項目を使用して、送信インターチェンジの肯定応答を要求します (UNB.9)。

testIndicator=""

送信インターチェンジで使用するテストインジケーター桁 (UNB.11)。デフォルトではインターチェンジはテストとして送信されません。

useSuppliedValues="false"

制御セグメント識別子 (​UNB​ や ​UNZ​ セグメントなど) について独自のデータ値を選択するか、指定された値を使用します。​false​ では、書き込むときに必ず制御番号を生成するため、値を選択することができます。

writeEnforceLengthLimits="true"

書き込み値の最小長と最大長を適用します。デフォルトの ​true​ では、要素が長すぎたり短すぎたりすると例外をスローします。​false​ では、値をそのまま使用します。

writeTruncateExceedingMaxLength="false"

受信値の最大長に切り捨てます。

Write-Batch パラメーター

これらのパラメーターで write-batch 操作の種別を制御します。

XML 値 Studio オプション

batchCharacterEncoding="​ASCII_B​"

メッセージの書き込みで使用する文字エンコード。各 EDIFACT 構文バージョンで 1 つ定義されている必要があります。

batchSendSyntaxVersion="VERSION4"

送信メッセージの構文バージョン。送信と受信の DataSense メタデータ内のサービスセグメントおよび CONTRL 肯定応答メッセージ構造で使用するデータ構造を決定するために使用されます。

batchLineEnding="NONE"/"LF"/"CRLF"/"CR"

セグメント間に追加する行末。セグメント間に行末を追加して、出力メッセージテキストを読みやすくします。

batchAlwaysSendUNA="false"

UNA サービスセグメントを常に送信します。構文の区切り文字が、使用中の構文バージョンと文字エンコードの両方のデフォルトに一致しない場合にのみ、UNA がインターチェンジに含まれます。​true​ に設定すると、UNA は常に送信されます。

batchEnforceWriteCharacters="true"

Write 操作の有効な文字を適用します。これは、構文レベル ​UNOA​ および ​UNOB​ を使用する場合に適用されます。

batchSendUniqueMessageNumbers="false"

一意のメッセージ参照番号を送信します (UNH.1)。​false​ (デフォルト) では、メッセージ参照番号は各インターチェンジ内で順次割り当てられ、異なるインターチェンジで再利用されます。​true​ では、同じパートナーに送信されたすべてのインターチェンジで一意のトランザクションセット番号が割り当てられます。この番号はインターチェンジの送信者および受信者 ID から派生します。

batchInitialInterchangeReference="1"

送信メッセージで使用する初期インターチェンジ制御参照。

batchInitialMessageReference="1"

送信メッセージで使用する初期メッセージ参照番号。

batchRequestAcks="false"

肯定応答要求項目を使用して、送信インターチェンジの肯定応答を要求します (UNB.9)。

batchTestIndicator=""

送信インターチェンジで使用するテストインジケーター桁 (UNB.11)。デフォルトではインターチェンジはテストとして送信されません。

batchUseSuppliedValues="false"

制御セグメント識別子 (​UNB​ や ​UNZ​ セグメントなど) について独自のデータ値を選択するか、指定された値を使用します。​false​ では、書き込むときに必ず制御番号が生成されるため、値を選択できます。

batchOutputEdiMimeType="​APPLICATION_PLAIN​"/"​APPLICATION_EDIFACT​"

このメッセージについて設定する MIME 種別を出力します。

batchInterchangeControlNumberKey=""

オブジェクトストアのインターチェンジ番号キー。キーが指定されている場合は、そのキーがインターチェンジ制御番号のオブジェクトストアに関する以降の操作に使用されます。

batchMessageControlNumberKey=""

オブジェクトストアのメッセージ制御番号キー。キーが指定されている場合は、そのキーがメッセージ制御番号のオブジェクトストアに関する以降の操作に使用されます。

batchEnforceLengthLimits="true"

書き込み値の最小長と最大長を適用します。true の場合、値が長すぎるか短すぎる要素では例外がスローされ、false の場合、値はどのような場合でも使用されます。

batchTruncateExceedingMaxLength="false"

受信値の最大長に切り捨てます。

次のステップ

コネクタの設定が完了したら、​​を試すことができます。