次の方法で共有


エンベロープ スキーマでの列挙のカスタマイズ

BizTalk Server では、サービス (エンベロープ) スキーマの ID フィールド列挙をカスタマイズできます。 これにより、エンベロープの送信者または受信者 ID フィールドで、標準以外の値 (X12 標準本文で定義された値のセットの外部) を持つインターチェンジを受信または送信できます。 また、契約プロパティ定義のヘッダー値のドロップダウン リストで使用できる修飾子を変更することもできます。

Von Bedeutung

スキーマを変更する場合、その変更は該当する標準のすべてのトランザクションに適用されます。 1 人のパーティのエンベロープ スキーマを変更することはできません。

BizTalk Server は、製品に付属する Microsoft.BizTalk.Edi.BaseArtifacts.dll内の静的サービス スキーマから許可される値の一覧を取得します。 値の基本セットを拡張するには、サービス スキーマ拡張機能を開発してデプロイする必要があります。 BizTalk Server には、列挙型の変更に使用できるサービス (エンベロープ) スキーマ テンプレートが用意されています。 これらのサービス スキーマは、X12_ServiceSchemaExtension.xsd と EDIFACT_ServiceSchemaExtension.xsd です。 各カスタム スキーマには、標準に基づいて、次のいずれかの名前空間があります。 この名前空間は変更できません。

スタンダード Namespace
X12 と HIPAA http://schemas.microsoft.com/BizTalk/EDI/X12/2006
EDIFACT http://schemas.microsoft.com/BizTalk/EDI/EDIFACT/2006

Visual Studio の BizTalk エディターでスキーマを変更します (以下の手順を参照)。 必要な変更を行った後、スキーマをデプロイする必要があります。

受信側と送信側の両方で、BizTalk Server がエンベロープ セグメント (X12 の場合は ISA と GS、EDIFACT の場合は UNB と UNG) を検証すると、名前空間に基づいてカスタム サービス スキーマの存在が確認されます。 カスタム スキーマが展開されている場合、BizTalk Server はそのスキーマを通常のサービス スキーマとマージし、指定した場合はカスタム列挙値と標準列挙値の両方を使用します。 スキーマをカスタマイズして列挙リストを拡張することはできますが、そこから値を削除することはできません。 カスタム スキーマが展開されていない場合、BizTalk Server は標準サービス スキーマを使用します。

カスタム スキーマを展開した後、BizTalk Server 管理コンソールの取引先管理 (TPM) ユーザー インターフェイスは、カスタム列挙の値を使用して、TPM プロパティ ページの適切なドロップダウン リストを設定します。 カスタム スキーマをデプロイしていない場合、TPM は標準サービス スキーマの列挙の値を使用します。 さらに、BizTalk Server ランタイムは、カスタム列挙を使用してメッセージを検証します。

BizTalk Server に付属の XML ツールを使用してインスタンスをエンベロープで検証し、サービス スキーマをカスタマイズした場合は、ドキュメント (トランザクション セット) スキーマと必要に応じてバッチ スキーマに加えて、BizTalk プロジェクトにカスタム サービス スキーマを含める必要があります。 これは、エンベロープを持たないトランザクション セット インスタンスを検証する場合は必要ありません。

[前提条件]

BizTalk Server Administrators グループのメンバーとしてログオンしている必要があります。

変更できるエンベロープ フィールド

次の封筒フィールドのみを変更できます。 拡張スキーマには、これらのフィールドのみが含まれます。 サービス拡張スキーマに他のフィールドを追加しても、処理には影響しません。

スタンダード フィールド
X12 と HIPAA ISA01 – 承認識別子

ISA03 – セキュリティ修飾子

ISA05 – 送信者識別子修飾子

ISA07 - 受信側 ID 修飾子

GS01 - 機能コード

GS07 - 責任ある機関
EDIFACT UNB2.2 - 送信者コード修飾子

UNB3.2 - 受信側コード修飾子

変更してはいけないエンベロープフィールド

エンベロープ内のいくつかのフィールドはエンジンの動作を駆動します。 その結果、これらのフィールドの既存の列挙リストに値を追加しないでください。 これらのフィールドは次のとおりです。

スタンダード フィールド
X12 と HIPAA ISA11 – インターチェンジ制御標準識別子

ISA12 – インターチェンジ制御のバージョン番号

ISA14 – 要求された受信確認
EDIFACT UNB1.1 – 構文識別子

UNB1.2 – 構文バージョン番号

UNB9 – 受信確認要求

エンベロープ スキーマの列挙体をカスタマイズするには

  1. Visual Studio で、新しいプロジェクトを作成します。

  2. X12_ServiceSchemaExtension.xsd スキーマ (X12 または HIPAA 列挙型を変更する場合) または \Program Files (x86)\Microsoft BizTalk Server <VERSION>XSD_Schema\EDI の EDIFACT_ServiceSchemaExtension.xsd スキーマを BizTalk エディターの BizTalk プロジェクトに追加します。 スキーマを開きます。

  3. 列挙体の値を変更するには、[ プロパティ ] ウィンドウで列挙体を選択し、省略記号をクリックして 列挙エディターを開きます。 必要に応じて値の一覧に追加し、[ ] ペインの各行に 1 つの値があることを確認します。 OK をクリックします。

    Von Bedeutung

    サービス スキーマの名前空間を変更することはできません。 スキーマには、製品と共にインストールされた元の拡張スキーマと同じ名前空間とルート ノード名が必要です。

    スキーマに新しいフィールドを追加する場合、そのフィールドは無視されます。 変更できるのは、上記の「 変更可能な封筒フィールド 」セクションにリストされているフィールドのみです。

  4. スキーマを保存します。

  5. スキーマを右クリックし、[ デプロイ] をクリックします。

    スキーマは、現在の BizTalk グループに展開する必要があります。

こちらもご覧ください

EDI スキーマの開発
EDI スキーマの変更