X12 EDI Connector 2.17 スキーマと取引パートナーの設定 - Mule 4

これら追加の XML 設定オプションを使用して、以下を行います。

  • カスタムスキーマを使用している場合はスキーマの場所を設定する。

  • 自分の ID またはパートナーの ID を設定して取引パートナーリレーションを定義する。

受信トランザクションセットを拒否するエラー条件の種別と、ライターメッセージ区切り文字操作を設定できます。 これらの一般パラメーターで、送信と受信の両方のドキュメント処理を制御します。

スキーマの場所の設定

1 つ以上のカスタムスキーマを使用している場合、これらを ​src/main/resources​ のディレクトリに配置し、このディレクトリに対して相対的な位置を参照します。 たとえば、​850​ スキーマ (オーバーレイまたはフル) が ​src/main/resources/mypartner/850.esl​ にある場合、スキーマの場所は ​/mypartner/850.esl​ になります。

Anypoint Studio XML ビューでスキーマの場所を設定できます。スキーマファイルはコネクタが初期化されるときに読み込まれるため、フロー変数などのランタイム表現はサポートされません。

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

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

  2. 各ドキュメント種別の ​<x12:schema>​ 要素を追加することで、必要なすべてのスキーマのリストを使用するように X12 EDI 設定を変更します。

<x12-edi:config name="X12_EDI__Configuration" identKeys="true" doc:name="X12 EDI: Configuration">
  <x12-edi:schemas>
    <x12:schema value="/x12/005010/850.esl"/>
  </x12-edi:schemas>
</x12-edi:config>
xml

設定にスキーマを含めていない場合、X12 EDI Connector はコネクタに用意されている標準 X12 スキーマ定義を読み込もうとします。ただし、この場合、コネクタの内外に渡されるデータの構造を定義するためのメタデータが表示されません。

スキーマ定義設定に ​997​ または ​999​ 機能肯定応答スキーマが含まれる場合、そのスキーマが機能肯定応答の生成に使用されます。

機能肯定応答スキーマ種別 (​997​ または ​999​) を使用するには、そのスキーマが ​generate999Acks​ パーサーパラメーター (​997​ の場合は ​false​、​999​ の場合は ​true​) に一致する必要があります。
XML 値 (デフォルト) Studio オプション

formValidation="X12"/"​HIPAA_SNIP1​"/"​HIPAA_SNIP2​"

スキーマ形式および検証レベルには X12 または HIPAA を指定できます。デフォルトは X12 です。

schemas=値のリスト

コネクタで使用できるスキーマパスのリスト。これらのパスにはファイルシステムまたは ​classpath​ を指定できます。

characterEncoding="PLATFORM"/"ASCII"/"​ISO8859_1​"/"IBM1047"/"UTF8"

メッセージの送受信に使用される文字エンコード。デフォルトの ​PLATFORM​ は Mule のデフォルトエンコードです。

stringCharacterSet="BASIC"/"EXTENDED"/"UNRESTRICTED"

無効な文字には置換文字を使用するか、​none​ に設定されているかパーサーオプションの受信メッセージで有効になっている場合は、エラーとして拒否します。 デフォルトは文字列データの ​EXTENDED​ です。

stringSubstitutionChar="?"

文字列値の無効な文字を置換するために使用される置換文字。デフォルト値は ​none​ です。

versionIdentifierSuffix="XYZ"

グループのバージョン識別子コードサフィックス (GS)。この値を設定すると、送信メッセージの処理と受信メッセージの処理の両方に影響します。受信側では、GS08 バージョンコードに X12 スキーマバージョン (​004010​、​005010​ など) が含まれており、このサフィックスが続く必要があります。この値を設定しない場合、受信のみで GS バージョン識別子コードの先頭が設定されたスキーマバージョンであることのみ検証されます。送信側では、X12 スキーマバージョンとこのサフィックスが組み合わさって GS08 値になります。

lockMechanism="AUTO"/"​RUNTIME_LOCK_MANAGER​"/"​OBJECT_STORE​"

制御番号シーケンスのロックを管理するために使用するメカニズム。

自分の ID のパラメーター

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

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

interchangeIdQualifierSelf="ZZ"

Exchange での Mule の ID 修飾子 (​ISA セグメント​と呼ばれる)。この値は、​Interchange ID​ 値と組み合わせて使用します。両方の値を指定するか、両方とも指定しないかのどちらかである必要があります。

interchangeIdSelf="MULE"

Exchange での Mule Runtime Engine の ID 修飾子 (ISA セグメントと呼ばれる)。この値は、​Interchange ID​ 値と組み合わせて使用します。両方の値を指定するか、両方とも指定しないかのどちらかである必要があります。

groupIdSelf="MULEAPP"

グループでの Mule Runtime Engine のアプリケーションコード (GS セグメント)。

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

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

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

interchangeIdQualifierSelf="ZZ"

Exchange でのパートナーの ID 修飾子 (​ISA セグメント​と呼ばれる)。この値は、​Interchange ID​ 値と組み合わせて使用します。両方の値を指定するか、両方とも指定しないかのどちらかである必要があります。

interchangeIdSelf="PARTNER"

Exchange でのパートナーの ID 修飾子 (​ISA セグメント​と呼ばれる)。この値は、​Interchange ID​ 値と組み合わせて使用します。両方の値を指定するか、両方とも指定しないかのどちらかである必要があります。

groupIdSelf="PARTNERAPP"

グループでのパートナーのアプリケーションコード (GS セグメント)。

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

これらにより、parser 操作と、受信トランザクションセットが拒否されるエラー条件の種別を制御します。

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

enforceLengthLimits="true"

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

truncateExceedingMaxLength="false"

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

enforceCharacterSet="true"

使用可能な文字セットを適用する。

enforceValueRepeats="true"

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

allowUnknownSegments="false"

トランザクションセットで不明なセグメントを許可する。

enforceSegmentOrder="true"

トランザクションセットでセグメント順を適用する。

allowUnusedSegments="false"

トランザクションセットで ​Unused​ とマークされたセグメントを許可する。

enforceSegmentRepeats="true"

トランザクションセットでセグメントの反復数の制限を適用する。

requireUniqueInterchanges="true"

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

requireUniqueGroups="false"

受信した機能グループのグローバルに一意であるグループ制御番号 (GS06) を適用する。デフォルトでは、グループ番号はインターチェンジ内で一意である必要があります。​true​ に設定すると、同じパートナーおよびアプリケーションから受信したすべてのインターチェンジでグループ番号が一意であることが要求されます。これは、インターチェンジの送信者および受信者の ID から派生し、機能グループの送信者および受信者のアプリケーションコードと組み合わされます。

requireUniqueTransactionSets="false"

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

daysToStore="30"

一意性の確認のためにインターチェンジ、グループ、トランザクションセットの番号を保存する最小日数。

ackAllSets="false"

受信したすべてのトランザクションセットの個別の AK2/AK5 (​997​) または AK2/IK5 (​999​) 肯定応答を含める。デフォルト (​false​) では、エラーが含まれるトランザクションセットは肯定応答の一部であり、他のすべてのトランザクションセットは暗黙的に肯定応答されます。​true​ に変更すると、受信する各トランザクションセットを肯定応答します。

generate999Acks="false"

997​ 機能肯定応答ではなく、​999​ 実装肯定応答を生成する。​false​ に設定すると、​997​ 機能肯定応答トランザクションセットはインターチェンジを受信するたびに生成されます。​true​ に生成すると、代わりに ​999​ 実装肯定応答が生成されます。​999​ 実装肯定応答のサポートに CTX セグメントの生成は含まれません。

reportSegmentErrors="true"

997​ または ​999​ フラグで送信者にセグメントエラーの詳細をレポートする。​true​ に設定すると、​997​ または ​999​ フラグで生成されるセグメントエラーの詳細が含まれます。​false​ に設定すると、詳細が含まれなくなります。

includeFASchema="true"

997​ または ​999​ 機能肯定応答を予期し、​997​ または ​999​ スキーマを含める。 true​ では、X12 EDI Connector によって使用されるスキーマのセット内の ​997​ または ​999​ 肯定応答トランザクションセットのスキーマが自動的に含まれます。​false​ に設定すると、入力として処理する ​997​ または ​999​ スキーマを直接指定することになります。​997​ または ​999​ 機能肯定応答を生成するために使用されるスキーマはハードコード化されており、変更できません。

setAckSchemaByInboundMessage="false"

acknowledgmentSchemaPath​ が ​EMPTY​ で、このプロパティが ​true​ の場合、インバウンドメッセージの ​[Version (バージョン)] / [Release (リリース)] / [Industry Identifier Code (GS08) (業界識別子コード (GS08))]​ 項目値を使用して、機能/実装肯定応答構造が設定されます。​false​ の場合、005010 バージョンのハードコード化された機能/実装肯定応答構造が使用されます。

acknowledgmentSchemaPath=""

ファイルシステムまたは ​classpath​ のどちらかのパスを想定します。パスが指定された場合は、デフォルトの肯定応答パスを上書きします。

enforceConditionalRules="false"

受信値の条件ルールを適用します。

enforceCodeSetValidationsParse="false"

Read​ 操作にコードセット検証を適用します。

reportWarningMessagesInACK="true"

致命的でないエラーを肯定応答で報告します。

includeTrailerSegments="false"

各トランザクションに「InterchangeTrailer」と「GroupTrailer」を含めます。

includeElementsFromIgnoredSegments="false"

使用方法の種別が [Ignore (無視)] のセグメントのデータ要素を、出力マップとメタデータに含めるかどうか。

ライターパラメーター

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

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

dataSeparator="*"

データ要素の区切り文字。デフォルトでは、すべての出力メッセージに設定された値を使用しますが、メッセージレベルで上書きできます。

componentSeparator=">"

コンポーネントの区切り文字。デフォルトでは、すべての出力メッセージに設定された値を使用しますが、メッセージレベルで上書きできます。

repetitionSeparator="U"

反復の区切り文字。デフォルトでは、すべての出力メッセージに設定された値を使用しますが、メッセージレベルで上書きできます。 U​ は反復が使用されないことを意味します。

segmentTerminator="~"

セグメントの終端文字。デフォルトでは、すべての出力メッセージに設定された値を使用しますが、メッセージレベルで上書きできます。

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

セグメント間に追加する行末。デフォルト値は ​NONE​ です。セグメント間に行末を追加して、メッセージテキストの出力を読みやすくすることができます。

writeUseCRLFLastLine="false"

最後の行の末尾に設定済みの [Segment line ending (セグメント行末)] を使用します。

sendUniqueGroupNumbers="false"

一意のグループ制御番号を送信する。 false​ (デフォルト) では、機能グループ制御番号を各インターチェンジ内で連続的に割り当て、異なるインターチェンジで再利用します。 true​ では、同じパートナーおよびアプリケーションに送信するすべてのインターチェンジで一意のグループ番号を割り当てます。これは、インターチェンジの送信者および受信者の ID から派生し、機能グループの送信者および受信者のアプリケーションコードと組み合わされます。

sendUniqueTransactionNumbers="false"

一意のトランザクションセット制御番号を送信する。 false​ (デフォルト) では、トランザクションセット制御番号を各機能グループ内で連続的に割り当て、異なるグループで再利用します。 true​ では、同じパートナーおよびアプリケーションに送信するすべてのインターチェンジで一意のトランザクションセット番号を割り当てます。これは、インターチェンジの送信者および受信者の ID から派生し、機能グループの送信者および受信者のアプリケーションコードと組み合わされます。

implementationConventionReference=""

トランザクションの実装規定参照 (ST セグメント)。この値を設定すると、メッセージパラメーターで上書きされない限り、ST 実装規定参照を使用します。

initialInterchangeNumber="1"

送信メッセージに使用される初期インターチェンジ制御番号。

initialGroupNumber="1"

送信メッセージに使用される初期グループ制御番号。

initialSetNumber="1"

送信メッセージに使用される初期トランザクションセット制御番号。

ackRequested="false"

送信されたトランザクションフラグの応答確認の要求。true の場合、送信されるすべてのトランザクションに ​997​ または ​999​ 肯定応答が要求されます。

defaultUsageIndicator="P"

デフォルトの ISA15 インターチェンジ使用インジケーター: I​ は情報、​P​ は本番環境データ、​T​ はテストデータ。

useSuppliedValues="false"

制御セグメント識別子 (ISA/IEA、GS/GE、ST/SE セグメント) について指定されたデータから値を使用します。 false​ では、書き込むときに制御番号を生成します。

outputEdiMimeType="​APPLICATION_PLAIN​"/"​APPLICATION_EDIX12​"

メッセージに設定する、出力の MIME タイプ (デフォルトの ​application/plain​ または X12 固有の代替方法 ​application/edi-x12​)。

writeEnforceLengthLimits="true"

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

writeTruncateExceedingMaxLength="false"

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

enforceConditionalRulesOnWriter="false"

書き込み値の条件ルールを適用します。

interchangeNumberKey=""

オブジェクトストアのインターチェンジ番号キー名。

enforceCodeSetValidationsWrite="false"

Write​ 操作にコードセット検証を適用します。

Write Batch パラメーター

これらのパラメーターで Write batch (​<edifact:write-batch>​) 操作の種別を制御します。

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

batchDataSeparator="*"

データ要素の区切り文字。デフォルトでは、すべての出力メッセージに設定された値を使用しますが、メッセージレベルで上書きできます。

batchComponentSeparator=">"

コンポーネントの区切り文字。デフォルトでは、すべての出力メッセージに設定された値を使用しますが、メッセージレベルで上書きできます。

batchRepetitionSeparator="U"

反復の区切り文字。デフォルトでは、すべての出力メッセージに設定された値を使用しますが、メッセージレベルで上書きできます。 U​ は反復が使用されないことを意味します。

batchSegmentTerminator="~"

セグメントの終端文字。デフォルトでは、すべての出力メッセージに設定された値を使用しますが、メッセージレベルで上書きできます。

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

セグメント間に追加する行末。デフォルト値は ​NONE​ です。セグメント間に行末を追加して、メッセージテキストの出力を読みやすくすることができます。

batchUseCRLFLastLine="false"

最後の行の末尾に設定済みの [Segment line ending (セグメント行末)] を使用します。

batchSendUniqueGroupNumbers="false"

一意のグループ制御番号を送信する。 false​ (デフォルト) では、機能グループ制御番号を各インターチェンジ内で連続的に割り当て、異なるインターチェンジで再利用します。 true​ では、同じパートナーおよびアプリケーションに送信するすべてのインターチェンジで一意のグループ番号を割り当てます。これは、インターチェンジの送信者および受信者の ID から派生し、機能グループの送信者および受信者のアプリケーションコードと組み合わされます。

batchSendUniqueTransactionNumbers="false"

一意のトランザクションセット制御番号を送信する。 false​ (デフォルト) では、トランザクションセット制御番号を各機能グループ内で連続的に割り当て、異なるグループで再利用します。 true​ では、同じパートナーおよびアプリケーションに送信するすべてのインターチェンジで一意のトランザクションセット番号を割り当てます。これは、インターチェンジの送信者および受信者の ID から派生し、機能グループの送信者および受信者のアプリケーションコードと組み合わされます。

batchInitialInterchangeNumber="1"

送信メッセージに使用される初期インターチェンジ制御番号。

batchInitialGroupNumber="1"

送信メッセージに使用される初期グループ制御番号。

batchInitialSetNumber="1"

送信メッセージに使用される初期トランザクションセット制御番号。

batchAckRequested="false"

送信されたトランザクションフラグの応答確認の要求。true の場合、送信されるすべてのトランザクションに ​997​ または ​999​ 肯定応答が要求されます。

batchDefaultUsageIndicator="P"

デフォルトの ISA15 インターチェンジ使用インジケーター: I​ は情報、​P​ は本番環境データ、​T​ はテストデータ。

batchOutputEdiMimeType="​APPLICATION_PLAIN​"/"​APPLICATION_EDIX12​"

メッセージに設定する、出力の MIME タイプ (デフォルトの ​application/plain​ または X12 固有の代替方法 ​application/edi-x12​)。

batchInterchangeNumberKey=""

オブジェクトストアのインターチェンジ番号キー名。

batchGroupNumberKey=""

オブジェクトストアのグループ番号キー名。

batchTransactionNumberKey=""

オブジェクトストアのトランザクション番号キー名。

batchEnforceLengthLimits="TRUE"

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

batchTruncateExceedingMaxLength="false"

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

enforceCodeSetValidationsBatch="false"

Write Batch​ 操作にコードセット検証を適用します。

次のステップ

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