このサンプルはサンプル・メッセージ CSV_1 に基づいて作成され、ヘッダー・レコードを CSV メッセージに組み込みます。 入力メッセージには 1 つのヘッダー・レコードに続いて、1 つの反復されるコンマ区切りレコードが含まれます。 Compute ノードは、メッセージを CSV から XML に変換するのではなく、DFDL ドメインのみを使用し、ESQL を使用して論理メッセージを操作します。
このトピックには、サンプルを実行するための指示があります。 また、入力テスト・メッセージと、それに対応する、予想される出力メッセージの例も示されます。 これにより、サンプルが機能したかを確認できます。
このサンプルで使用されるメッセージ・モデルについて詳しくは、コンマ区切り値 (CSV) サンプルの調査を参照してください。
サンプルの実行時に問題を検出した場合は、 WebSphere Message Broker 資料の『サンプル実行時の問題の解決』を参照してください。
Message Broker Toolkit を使用すると、DFDL スキーマ・ファイルに照らしてサンプル入力データを検査できます。
DFDL スキーマ・ファイルをテストするには、以下のようにします。
「DFDL テスト」パースペクティブを開くかどうか尋ねるウィンドウが表示されることがあります。 「はい」をクリックします。 「DFDL テスト」パースペクティブが開き、「DFDL テスト - 解析」ビューにテスト解析の結果が表示されます。 テスト解析が成功した場合、「解析が正常に完了しました」というメッセージが表示されます。
「論理インスタンス」ビューでテスト解析の結果を確認できます。 「論理インスタンス」ビューには、論理ツリー・ビューでデータが表示されます。 解析中に発生したエラーを確認するには、「DFDL - トレース」ビューのパーサー・ログを使用します。
このサンプルの実行に使用されるテスト・メッセージは、以下のフォーマットに基づいています。
2011-11-11,X12334,customerdetails<CRLF> Bob,Dyson,true,23,23456,0,1543543.36<CRLF> Jimmy,Pace,false,1002,10001,-4.32423,654654.99<CRLF> Ralf,McCartney,false,67,89125,4324307.35,986545.12<CRLF> Elvis,John,true,3,60699,-0.343242356675,99999999999999.99<CRLF> Rick,Clayton,true,461,33101,0.000000000000001,100.01
<CRLF> は、ASCII 16 進コード・ポイントが x'0D' および x'0A' の文字を表します。
このサンプルは、CSV2CSV メッセージ・フローを使用します。このメッセージ・フローには、キュー CSV2CSV.IN1 に接続された 1 つの MQInput ノードが含まれています。ESQL 計算ノードは goldmember フィールドが真であるかどうかに応じて balance フィールドを変更します。 出力 CSV メッセージにはメッセージの物理構造が示されます。これは、解析され、マッピングで変換されてから、出力キューにシリアライズされたものです。
サンプルを実行するには、次のようにします。
メッセージ・フローが、CSV メッセージを解析し、変更し、元の CSV にシリアライズします。出力メッセージは、CSV2CSV.OUT1 キューに入れられます。
このメッセージ・モデルについては、『Comma Separated Value (CSV) サンプルの調査』を参照してください。
予期される出力メッセージは、以下のとおりです。
2011-11-11,X12334,customerdetails Bob,Dyson,true,23,"23,456",0,"1,929,429.2" Jimmy,Pace,false,"1,002","10,001",-4.324,"654,654.99" Ralf,McCartney,false,67,"89,125","4,324,307.5","986,545.12" Elvis,John,true,3,"60,699",-0.343,"99,999,999,999,999.99" Rick,Clayton,true,461,"33,101",0,100.01