XML
から EDI への例
このセクションでは、コミュニティー・マネージャーからハブに XML 文書を送信する例を示します。XML 文書はハブで EDI トランザクションに変換され、EDI 交換内のエンベロープに包まれて参加者に送信されます。
この例では、Data Interchange Services のマッピング担当者が変換マップを作成したと想定しています。その変換マップは、XML 文書を受け取り、標準の EDI 850 トランザクション (MX12V3R1 ディクショナリーを使用して定義されたもの) に変換します。変換されたトランザクションは、参加者によって処理されます。この例のマップは S_DT_XML_TO_EDI.eif という名前です。
Data Interchange Services のマッピング担当者は、変換マップを WebSphere Partner Gateway データベースに直接エクスポートすることができます。あるいは、Data Interchange Services のマッピング担当者からユーザーにファイルを送信することもできます。その場合、ユーザーは bcgDISImport ユーティリティーを使用してファイルを WebSphere Partner Gateway にインポートします。この付録では、後者のシナリオを想定しています。
変換マップのインポート
このセクションでは、XML 入力を受け取って EDI トランザクションに変換する変換マップのインポート手順について説明します。変換マップをインポートするプロセスで、マップに関連付けられた文書定義もインポートします。
変換マップをインポートする前に、Data Interchange Services のマッピング担当者から変換マップを受信する必要があります。この一連の手順では、S_DT_XML_TO_EDI.eif というファイルがシステムにあることを前提にしています。
- コマンド・ウィンドウを開きます。
- 以下のコマンドまたはスクリプトを入力します。
- UNIX システムの場合:
<ProductDir>/bin/bcgDISImport.sh <database_user_ID>
<password> S_DT_XML_TO_EDI.eif
- Windows システムの場合:
<ProductDir>¥bin¥bcgDISImport.bat <database_user_ID>
<password> S_DT_XML_TO_EDI.eif
ここで、<database_user_ID> と <password> は、WebSphere Partner Gateway のインストール作業の一部としてデータベースをインストールしたときに使用した値です。
変換マップと文書フロー定義の検証
インポートした変換マップと文書定義が Community Console に表示されることを確認するには、以下のステップを実行します。
- 「ハブ管理」>「ハブ構成」>「マップ」>「変換マップ」の順にクリックします。
S_DT_XML_TO_EDI マップが表示されます。
- マップの横にある「詳細の表示」アイコンをクリックします。
このマップが関連付けられている文書フロー定義を確認できます。
表 29. マップに関連付けられた文書フロー定義
ソース |
ターゲット |
パッケージ:
なし
プロトコル: FVT-XML-TEST (すべて)
文書フロー: ICGCPO (すべて) |
パッケージ: N/A
プロトコル: MX12V3R1 (すべて)
文書フロー: 850 (すべて) |
S_DT_XML_TO_EDI マップは、XML 文書を受け取って EDI トランザクションに変換するように定義されています。
ターゲットの構成
このセクションでは、ハブ用のファイル・システム・ディレクトリー・ターゲットを作成します。
- 「ハブ管理」>「ハブ構成」>「ターゲット」をクリックし、「ターゲットの作成」をクリックします。
- 「ターゲット名」に XMLFileTarget と入力します。
- 「トランスポート」リストから「ファイル・ディレクトリー」を選択します。
- 「ルート・パス (Root Path)」に /Data/Manager/xmltarget と入力します。
- 「構成ポイント (Configuration Point)」リストから「Preprocess」を選択します。
- 「使用可能なリスト」から「com.ibm.bcg.edi.receiver.preprocesshandler.XMLSplitterHandler」を選択し、「追加」をクリックして「構成済みリスト」に移動します。
- 「保管」をクリックします。
コミュニティー・マネージャーは、このターゲットに XML 文書を送信します。
対話の作成
2 つの対話を作成します。1 つは XML から EDI への変換用、もう 1 つは EDI エンベロープ用です。
XML 文書を表すソースと、変換された 850 トランザクションを表すターゲットを持つ対話を作成します。
- 「ハブ管理」>「ハブ構成」>「文書フロー定義」の順にクリックします。
- 「対話の管理」をクリックし、次に「対話の作成」をクリックします。
- 「パッケージ: なし」および「プロトコル: FVT-XML-TEST」を展開し、「文書フロー: ICGCPO」を選択します。
- 「パッケージ: N/A」および「プロトコル: MX12V3R1」を展開し、「文書フロー: 850」を選択します。
- 「変換マップ」リストから「S_DT_XML_TO_EDI」を選択します。
- 「アクション」リストから「XML 変換および EDI 検証」を選択します。
- 「保管」をクリックします。
この対話は、XML 文書から EDI トランザクションへの変換を表します。したがって、変換マップを選択する必要があります。
EDI エンベロープを表す対話を作成します。
- 「ハブ管理」>「ハブ構成」>「文書フロー定義」の順にクリックします。
- 「対話の管理」をクリックし、次に「対話の作成」をクリックします。
- 「パッケージ: N/A」および「プロトコル: EDI-X12」を展開し、「文書フロー: ISA」を選択します。
- 「パッケージ: なし」および「プロトコル: EDI-X12」を展開し、「文書フロー: ISA」を選択します。
- 「アクション」リストから「パススルー」を選択します。
注: この対話では、変換は発生しません。
- 「保管」をクリックします。
参加者の作成
この例の参加者は、コミュニティー・マネージャー (Manager) と参加者 (TP1) の 2 つです。
コミュニティー・マネージャー・プロファイルを作成します。
- 「アカウント管理」>「プロファイル」>「コミュニティー参加者」をクリックし、「作成」をクリックします。
- 「会社ログイン名」に ComManager と入力します。
- 「参加者表示名」に Manager と入力します。
- 「参加者タイプ」で、「コミュニティー・マネージャー」を選択します。
- 「ビジネス ID」に対して「新規」をクリックし、Freeform ID として 000000000 を入力します。
注: DUNS ではなく Freeform を必ず選択してください。
- 「ビジネス ID」に対して「新規」をクリックし、FreeForm ID として 01-000000000 を入力します。
- 「保管」をクリックします。
2 番目の参加者を作成します。
- 「アカウント管理」>「プロファイル」>「コミュニティー参加者」をクリックし、「作成」をクリックします。
- 「会社ログイン名」に TP1 と入力します。
- 「参加者表示名」に TP1 と入力します。
- 「参加者タイプ」で、「参加者」を選択します。
- 「ビジネス ID」に対して「新規」をクリックし、Freeform ID として 000000001 を入力します。
注: DUNS ではなく Freeform を必ず選択してください。
- 「ビジネス ID」に対して「新規」をクリックし、Freeform ID として 01-000000001 を入力します。
- 「保管」をクリックします。
ゲートウェイの作成
この例の両方の参加者用にファイル・ディレクトリー・ゲートウェイを作成します。最初に、Manager 用のゲートウェイを作成します。
- 「アカウント管理」>「プロファイル」>「コミュニティー参加者」をクリックし、「検索」をクリックします。
- Manager プロファイルの横にある「詳細の表示」アイコンをクリックします。
- 「ゲートウェイ」をクリックし、次に「作成」をクリックします。
-
ゲートウェイに関する以下の値を入力します。ファイル・ディレクトリー (パス全体) がファイル・システムにすでに存在している必要があります。
- 「名前」に ManagerFileGateway と入力します。
- 「トランスポート」リストから「ファイル・ディレクトリー」を選択します。
- 「アドレス」に file:///Data/Manager/filegateway と入力します。
- 「保管」をクリックします。
- 「リスト」をクリックし、コミュニティー・マネージャー用のゲートウェイをすべてリストします。
- 「デフォルト・ゲートウェイの表示」をクリックします。
- 「実動」リストから、ステップ 4 で作成したゲートウェイを選択します。
- 「保管」をクリックします。
次に、参加者用のゲートウェイを作成します。
- 「アカウント管理」>「プロファイル」>「コミュニティー参加者」をクリックし、「検索」をクリックします。
- 「TP1」の横にある「詳細の表示」アイコンをクリックして、この例で作成したもう 1 つの参加者を選択します。
- 「ゲートウェイ」をクリックし、次に「作成」をクリックします。
-
ゲートウェイに関する以下の値を入力します。ファイル・ディレクトリー (パス全体) は、既存のディレクトリーである必要があります。
- 「名前」に TP1FileGateway と入力します。
- 「トランスポート」リストから「ファイル・ディレクトリー」を選択します。
- 「アドレス」に file:///Data/TP1/filegateway と入力します。
- 「保管」をクリックします。
- 「リスト」をクリックし、参加者用のゲートウェイをすべてリストします。
- 「デフォルト・ゲートウェイの表示」をクリックします。
- 「実動」リストから、ステップ 4 で作成したゲートウェイを選択します。
- 「保管」をクリックします。
B2B 機能の設定
この交換処理での 2 つの参加者の B2B 機能を使用可能に設定します。この例では、XML 文書はコミュニティー・マネージャーから発信され、参加者に配信されます。
- 「アカウント管理」>「プロファイル」>「コミュニティー参加者」をクリックし、「検索」をクリックします。
- この例のソース参加者 (ComMan) に対して「詳細の表示」アイコンをクリックします。
- 「B2B 機能」をクリックします。
- ソース参加者に対して 3 組の機能を使用可能に設定します。
- XML 文書を表す文書フロー定義を使用可能に設定します。
- 「ソースの設定」の下で、「パッケージ: なし」に対して「役割はアクティブではありません (Role is not active)」アイコンをクリックし、有効にします。
- 「パッケージ: なし」を展開します。
- 「ソースの設定」の下で、「プロトコル: FVT-XML-TEST (すべて)」に対して「役割はアクティブではありません (Role is not active)」アイコンをクリックします。
- 「プロトコル: FVT-XML-TEST (すべて)」を展開します。
- 「ソースの設定」の下で、「文書フロー: ICGCPO (すべて)」に対して「役割はアクティブではありません (Role is not active)」アイコンをクリックします。
- 次に、変換した文書を表す文書フロー定義を使用可能に設定します。
- 「ソースの設定」の下で、「パッケージ: N/A」に対して「役割はアクティブではありません (Role is not active)」アイコンをクリックし、有効にします。
- 「パッケージ: N/A」を展開します。
- 「ソースの設定」の下で、「プロトコル: MX12V3R1 (すべて)」に対して「役割はアクティブではありません (Role is not active)」アイコンをクリックします。
- 「プロトコル: MX12V3R1 (すべて)」を展開します。
- 「ソースの設定」の下で、「文書フロー: 850」に対して「役割はアクティブではありません (Role is not active)」アイコンをクリックします。
- 次に、EDI エンベロープを表す文書フロー定義を使用可能に設定します。
- 「ソースの設定」の下で、「パッケージ: N/A」に対して「役割はアクティブではありません (Role is not active)」アイコンをクリックし、有効にします。
- 「パッケージ: N/A」を展開します。
- 「ソースの設定」の下で、「プロトコル: EDI-X12 (すべて)」に対して「役割はアクティブではありません (Role is not active)」アイコンをクリックします。
- 「プロトコル: EDI-X12 (すべて)」を展開します。
- 「ソースの設定」の下で、「文書フロー: ISA (すべて)」に対して「役割はアクティブではありません (Role is not active)」アイコンをクリックします。
- 「アカウント管理」>「プロファイル」>「コミュニティー参加者」をクリックし、「検索」をクリックします。
- この例のターゲット参加者 (TP1) に対して「詳細の表示」アイコンをクリックします。
- 「B2B 機能」をクリックします。
- ターゲット参加者に対して 2 組の機能を使用可能に設定します。
- 最初に、EDI 850 トランザクションを表す文書フロー定義を使用可能に設定します。
- 「ターゲットの設定」の下で、「パッケージ: N/A」に対して「役割はアクティブではありません (Role is not active)」アイコンをクリックし、有効にします。
- 「パッケージ: N/A」を展開します。
- 「ターゲットの設定」の下で、「プロトコル: MX12V3R1 (すべて)」に対して「役割はアクティブではありません (Role is not active)」アイコンをクリックします。
- 「プロトコル: MX12V3R1 (すべて)」を展開します。
- 「ターゲットの設定」の下で、「文書フロー: 850 (すべて)」に対して「役割はアクティブではありません (Role is not active)」アイコンをクリックします。
- 次に、文書フロー定義を使用可能に設定します。
- 「ターゲットの設定」の下で、「パッケージ: なし」に対して「役割はアクティブではありません (Role is not active)」アイコンをクリックし、有効にします。
- 「パッケージ: なし」を展開します。
- 「ターゲットの設定」の下で、「プロトコル: EDI-X12 (すべて)」に対して「役割はアクティブではありません (Role is not active)」アイコンをクリックします。
- 「プロトコル: EDI-X12 (すべて)」を展開します。
- 「ターゲットの設定」の下で、「文書フロー: ISA (すべて)」に対して「役割はアクティブではありません (Role is not active)」アイコンをクリックします。
エンベロープ・プロファイルの作成
次に、変換された 850 トランザクションを包むエンベロープのプロファイルを作成します。
- 「ハブ管理」>「ハブ構成」>「EDI」>「エンベロープ・プロファイル」の順にクリックします。
- 「作成」をクリックします。
- プロファイルの名前として EnvProf1 を入力します。
- 「EDI 標準」リストから「X12」を選択します。
- 「一般」ボタンがデフォルトで選択されています。エンベロープの一般属性として以下の値を入力します。
- INTCTLLEN: 9
- GRPCTLLEN: 9
- TRXCTLLEN: 9
- MAXDOCS: 1000
- 「交換」ボタンをクリックし、交換の属性として以下の値を入力します。
- ISA01: 01
- ISA02: ISA0000002
- ISA03: 02
- ISA04: ISA0000004
- ISA11: U
- ISA12: 00301
- ISA15: T
- 「保管」をクリックします。
XML 形式の作成
このセクションでは、カスタム XML 形式を作成します。
- 「ハブ管理」>「ハブ構成」>「XML 形式」をクリックします。
- 「XML 形式の作成」をクリックします。
- 「ルーティング形式」で「FVT-XML-TEST ALL」を選択します。
- 「ファイル・タイプ」で「XML」を選択します。
- 「ID タイプ」で「ルート・タグ」を選択し、MMDoc と入力します。
- 「ソース・ビジネス ID」で「定数」を選択し、000000000 と入力します。
- 「ターゲット・ビジネス ID」で「定数」を選択し、000000001 と入力します。
- 「ソース文書フロー」で「定数」を選択し、ICGCPO と入力します。
- 「ソース文書フロー・バージョン」で「定数」を選択し、ALL と入力します。
- 「保管」をクリックします。
接続のアクティブ化
参加者接続をアクティブ化します。
- 「アカウント管理」>「参加者の接続」をクリックします。
- 「ソース」リストから「Manager」を選択します。
- 「ターゲット」リストから「TP1」を選択します。
- 「検索」をクリックします。
- 以下の接続に対して「アクティブ化」をクリックします。
表 30. XML 文書から EDI へのトランザクション接続
ソース |
ターゲット |
パッケージ: なし (N/A)
プロトコル: FVT-XML-TEST (すべて)
文書フロー: ICGCPO (すべて) |
パッケージ: N/A (N/A)
プロトコル: MX12V3R1 (すべて)
文書フロー: 850 (すべて) |
- EDI エンベロープを表す接続に対して「アクティブ化」をクリックします。
表 31. EDI エンベロープ接続
ソース |
ターゲット |
パッケージ: N/A (N/A)
プロトコル: EDI-X12 (すべて)
文書フロー: ISA (すべて) |
パッケージ: なし (N/A)
プロトコル: EDI-X12 (すべて)
文書フロー: ISA (すべて) |
属性の構成
ターゲット参加者 (TP1) およびソース参加者 (Manager) の B2B 機能の属性を構成します。
- 「アカウント管理」>「プロファイル」>「コミュニティー参加者」をクリックし、「検索」をクリックします。
- 「TPI」の横にある「詳細の表示」アイコンをクリックして選択します。
- 「B2B 機能」をクリックします。
- 「パッケージ: N/A」の横にある「展開 (Expand)」アイコンをクリックします。
- 「プロトコル: MX12V3R1」の横にある「編集」アイコンをクリックします。
- 以下の属性を指定します。
- 「エンベロープ・プロファイル」の行で、リストから「EnvProf1」を選択します。
- 「交換修飾子」の行に 01 と入力します。
- 「交換 ID」の行に 000000001 と入力します。
- 「交換の使用標識」の行に T と入力します。
- 「保管」をクリックします。
- 「アカウント管理」>「プロファイル」>「コミュニティー参加者」をクリックし、「検索」をクリックします。
- 「Manager」の横にある「詳細の表示」をクリックして選択します。
- 「B2B 機能」をクリックします。
- 「パッケージ: N/A」の横にある「展開 (Expand)」アイコンをクリックします。
- 「プロトコル: MX12V3R1 (すべて)」の横にある「編集」アイコンをクリックします。
- 以下の属性を指定します。
- 「交換修飾子」の行に 01 と入力します。
- 「交換 ID」の行に 000000000 と入力します。
- 「交換の使用標識」の行に T と入力します。
- 「保管」をクリックします。
この時点で、ソース参加者 (コミュニティー・マネージャー) が参加者に XML 文書を送信すると、その文書は (ハブで) EDI トランザクションに変換され、エンベロープに包まれた後、参加者のゲートウェイに送信されます。
