X12 サンプルの実行
このトピックでは、X12 サンプル・メッセージ・フローを通してテスト・メッセージを書き込む方法を説明します。
入力メッセージ
X12 サンプルには、以下の 3 つのテスト・メッセージが含まれています。
- PurchaseOrder1.enqueue
- PurchaseOrder2.enqueue
- PurchaseOrder_Missing_BEG.enqueue
3 つの入力メッセージはすべて、850 Purchase Order メッセージです。
最初の 2 つの入力メッセージが有効です。
3 番目の入力メッセージは無効です。メッセージに BEG フィールドが欠落しています。
サンプルの実行
サンプルを実行するには、入力キューにメッセージを入れ、出力キューからメッセージを取得することが必要です。
以下の指示に従ってください。
- 入力メッセージの 1 つを X12_TO_XML_IN キューに入れます。
メッセージを X12_TO_XML_IN キューに入れる際、最初のメッセージ・フロー内の X12_TO_XML_IN MQInput ノード (VALIDATINGX122XML.msgflow と呼ばれる) はメッセージを構文解析し、メッセージ・セットに対してそれを妥当性検査します。
- メッセージが有効な X12 メッセージである場合、それは Compute ノードに渡され、そこでは X12 メッセージを XML メッセージに変換します。
次いで Compute ノードはメッセージを X12_TO_XML_OUT MQOutput ノードに渡し、それはメッセージを X12_TO_XML_OUT キューに入れます。
- メッセージが有効な X12 メッセージでない場合には、メッセージは X12_FAIL ノードに渡され、それはメッセージを X12_FAIL キューに入れます。
- 変換されたメッセージを X12_TO_XML_OUT キューから取得して、メッセージを保管します。
メッセージは XML フォーマットになっています。
- 保管されたメッセージを XML_TO_X12_IN キューに入れます。
メッセージを XML_TO_X12_IN キューに入れる際、2 番目のメッセージ・フロー内の XML_TO_X12_IN MQInput ノード (VALIDATINGXML2X12.msgflow と呼ばれる) はメッセージを構文解析し、メッセージ・セットに対してそれを妥当性検査します。
- メッセージが有効な XML メッセージである場合、それは Compute ノードに渡され、そこでは XML メッセージを X12 メッセージに変換します。
次いで Compute ノードはメッセージを XML_TO_X12_OUT MQOutput ノードに渡し、それはメッセージを XML_TO_X12_OUT キューに入れます。
- メッセージが有効な XML メッセージでない場合には、メッセージは X12_FAIL ノードに渡され、それはメッセージを X12_FAIL キューに入れます。
- XML_TO_X12_OUT キューからメッセージを取得します。
メッセージは X12 メッセージになっています。
X12_TO XML_OUT または XML_TO_X12_OUT キューにメッセージがない
場合には、問題の診断を参照してください。
メッセージはまだ入力キューにあるのか、X12_FAIL キュー上か、またはいずれかのシステム・キューにある可能性があります。
PurchaseOrder_Missing_BEG.txt メッセージ
最初のメッセージ・フローを通して PurchaseOrder_Missing_BEG.txt メッセージを入れると、X12_TO_XML_IN MQInput ノード上での妥当性検査が失敗します。
メッセージに BEG フィールドが欠落しているため、MQInput ノードはエラーを出します。
Windows イベント・ビューアーのアプリケーション・ログでエラーを表示することができます。
エラー・テキストは次のようなものです。
<FlightDetailsInfoResponse>メッセージ検証に失敗しました。
完成しているとみなされている 1 つのエレメントが、minOccurs 制約を満たしていません。
論理ツリー上のエレメント BEG のインスタンスは 0 個ですが、インデックス 1 のその親タイプ/エレメント M850 の
中で、minOccurs 制約が 1 として定義または限定されています。
minOccurs 制約を調整し、下方修正してからブローカーに再デプロイするか、またはメッセージ自体の中のエレメントの
インスタンス数を増やしてください。
サンプルのホームに戻る