ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Service Bus開発者ガイド
11g リリース1(11.1.1.4.0)
B61435-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

20 操作方法

ここででは次のトピックについて説明します。

20.1 メッセージ・フォーマットの作成

メッセージ・フォーマット定義ファイルを作成するには、まず、メッセージ・フォーマット(メッセージ・フォーマット・ファイルのルート・ノード)を作成します。

メッセージ・フォーマットを作成するには、次の手順を実行します。

  1. 「ファイル」「新規」を選択します。メッセージ・フォーマットの詳細ウィンドウが右ペインに表示されます。

  2. フィールドに適切なデータを入力します。フィールドの定義については、「メッセージ・フォーマットの詳細ウィンドウ」を参照してください。

20.2 グループの作成

グループは、何らかの関連がある複数のフィールドを定義します(たとえば、PAYDATEフィールド、HOURSフィールド、RATEフィールドをPAYINFOグループに入れることができます)。グループを、メッセージ・フォーマット項目の子、別のグループの子、あるいはグループまたはフィールドの兄弟として作成できます。

グループを作成するには、次の手順を実行します。

  1. 左ペインのツリー・ビューで項目を選択します。

  2. メッセージ・フォーマットまたは別のグループの子としてグループを作成する場合、「挿入」「グループ」子としてを選択します。別のグループまたはフィールドの兄弟としてグループを作成する場合、「挿入」「グループ」兄弟としてを選択します。グループの詳細ウィンドウが右ペインに表示されます。

  3. フィールドに適切なデータを入力します。フィールドの定義については、「グループの詳細ウィンドウ」を参照してください。

  4. 「適用」をクリックしてメッセージ・フォーマット・ファイルへの変更を保存するか、「リセット」をクリックして詳細ウィンドウへの変更を破棄し、すべてのフィールドを最後に保存された値にリセットします。


    注意:

    「適用」ボタンと「リセット」ボタンは、詳細パネルのコンポーネントを変更するまで使用できません。

20.3 フィールドの作成

フィールドとは、アプリケーションにとって何らかの意味を持つバイト・シーケンスです(たとえば、フィールドEMPNAMEには、従業員名が入力されます)。フィールドは、メッセージ・フォーマット項目の子、グループの子、あるいはグループまたは別のフィールドの兄弟として作成できます。

フィールドを作成するには、次の手順を実行します。

  1. 左ペインのツリー・ビューで項目を選択します。

  2. メッセージ・フォーマットまたはグループの子としてフィールドを作成する場合、「挿入」「フィールド」子としてを選択します。別のグループまたはフィールドの兄弟としてグループを作成する場合、「挿入」「フィールド」兄弟としてを選択します。フィールドの詳細ウィンドウが右ペインに表示されます。

  3. フィールドに適切なデータを入力します。フィールドの定義については、「フィールドの詳細ウィンドウ」を参照してください。

  4. 「適用」をクリックしてメッセージ・フォーマット・ファイルへの変更を保存するか、「リセット」をクリックして詳細ウィンドウへの変更を破棄し、すべてのフィールドを最後に保存された値にリセットします。


    注意:

    「適用」ボタンと「リセット」ボタンは、詳細パネルのコンポーネントを変更するまで使用できません。

20.4 コメントの作成

コメントは、メッセージ・フォーマットまたはメッセージ・フォーマットによって変換されるデータについてのメモです。コメントはメッセージ・フォーマット定義に含まれますが、情報提供のみを目的とします。コメントは、任意のメッセージ・フォーマット、グループ、またはフィールドの子または兄弟として作成できます。

コメントを作成するには、次の手順を実行します。

  1. 左ペインのツリー・ビューで項目を選択します。

  2. 選択した項目の子としてコメントを作成する場合、「挿入」「コメント」子としてを選択します。選択した項目の兄弟としてコメントを作成する場合、「挿入」「コメント」兄弟としてを選択します。コメントの詳細ウィンドウが右ペインに表示されます。

  3. 必要なコメント・テキストを入力します。詳細は、「コメントの詳細ウィンドウ」を参照してください。

  4. 「適用」をクリックしてメッセージ・フォーマット・ファイルへの変更を保存するか、「リセット」をクリックして詳細ウィンドウへの変更を破棄し、すべてのフィールドを最後に保存された値にリセットします。


    注意:

    「適用」ボタンと「リセット」ボタンは、詳細パネルのコンポーネントを変更するまで使用できません。

20.5 参照の作成

参照では、データを再入力しないで、事前に定義したフィールドまたはグループ・フォーマットの記述を再使用することを指定します。参照フィールドまたは参照グループのフォーマットは元のフィールドまたはグループと同じですが、参照フィールドまたは参照グループのOptional設定とOccurrence設定だけは変更できます。たとえば、「請求先」住所と「届け先」住所がデータに含まれ、その住所フォーマットが同じである場合、住所フォーマットの定義は1回で済みます。「請求先」住所定義を作成し、「届け先」住所には参照を作成します。


注意:

参照には、元の項目と同じ名前が付けられます。たとえば、「請求先」住所定義と「届け先」住所定義には同じ名前が付けられます。グループ定義を再使用する場合、汎用的なグループを作成し、そのグループを特定のグループに埋め込みます。たとえば、前の例では、「請求先」グループ内に「住所」グループを作成し、「届け先」グループ内で「住所」グループを参照します。

参照を作成するには、次の手順を実行します。

  1. ツリー・ペインでフィールドまたはグループを選択します。

  2. 「編集」「コピー」を選択します。

  3. ツリーで正しい兄弟を選択します。

  4. 「編集」「貼付け」参照としてを選択します。

  5. フィールドに適切なデータを入力します。フィールドの定義については、第14章「参照の詳細ウィンドウ」を参照してください。

  6. 「適用」をクリックしてメッセージ・フォーマット・ファイルへの変更を保存するか、「リセット」をクリックして詳細ウィンドウへの変更を破棄し、すべてのフィールドを最後に保存された値にリセットします。


    注意:

    「適用」ボタンと「リセット」ボタンは、詳細パネルのコンポーネントを変更するまで使用できません。

20.6 ドキュメントの保存

メッセージ・フォーマット・ファイルを初めて保存する場合は、以下の手順を実行します。

  1. 「ファイル」「別名保存」を選択します。「別名保存」ダイアログが表示されます。

  2. ファイルの保存先のディレクトリに移動します。

  3. 「ファイル名」テキスト・ボックスに、ファイルに割り当てる名前を入力します。

  4. 拡張子が指定されていない場合、Format Builderによって自動的に拡張子.MFLがメッセージ・フォーマット・ファイルに割り当てられます。

  5. 「別名保存」をクリックして、ファイルを指定した場所に指定した名前と拡張子で保存します。

同じ名前でメッセージ・フォーマット・ファイルを保存する場合、「ファイル」「保存」を選択します。ファイルは同じ場所に同じ名前と拡張子で保存されます。

別の名前でメッセージ・フォーマット・ファイルを保存する場合、「ファイル」「別名保存」を選択して上記のステップ1から5に従います。

20.7 Format Testerの使用

Format Testerでは、データを解析して再フォーマットする検証テストを行います。Format Testerを使用して、Format Builderで構築中のメッセージのフォーマットに問題がないことを確認します。

Format TesterはFormat Builderから使用できます。

Format Testerを起動するには、次の手順を実行します。

  1. Format Builderでメッセージ・フォーマット・ドキュメント(MFLファイル)を開きます。


    注意:

    Format Testerを実行するには、Format Builderでメッセージ・フォーマット・ドキュメントが開いている必要があります。

  2. Format Builderのメニュー・バーでツール「テスト」を選択します。

  3. Format Testerダイアログ・ボックスが表示されます。


    注意:

    Format Testerでは、現在ロードされているメッセージ定義ドキュメントが使用されます。

    詳細は、第18章「Format Tester」を参照してください。

20.8 フォーマット定義のデバッグ

20.9 値の検索

検索機能を使用して、非XMLデータ内の16進値やテキスト値を検索できます。

値を検索するには、次の手順を実行します。

  1. Format Tester内で「ファイル」非XMLを開くを選択して、検索する非XMLデータ・ファイルを開きます。

  2. 「編集」「検索」を選択します。「検索」ダイアログが開きます。

  3. フィールドに適切なデータを入力します(詳細は20.9項「値の検索」 を参照してください)。

  4. 「OK」をクリックして検索操作を開始します。

20.10 オフセットの検索

移動機能を使用して、「Non-XML」エディタのカーソルを指定したバイト・オフセットに移動できます。

指定したオフセットに移動するには、次の手順を実行します。

  1. 「編集」「検索」を選択します。移動ダイアログが開きます。

  2. フィールドに適切なデータを入力します(詳細は20.10項「オフセットの検索」 を参照してください)。

  3. 「OK」をクリックして検索操作を開始します。

20.11 デバッグ・ログの使用

デバッグ・ログでは、デバッグ情報をテキスト・ファイルに保存できます。

デバッグ・ログを使用するには、「ファイル」デバッグ・ログを選択します。表示されたダイアログで、デバッグ情報の保存先として新しいパスとファイル名を入力するか、既存のファイルを選択できます。


注意:

既存のファイルを選択した場合、新しいデバッグ情報は、ファイルの最後に追加されます。

20.12 文字区切り記号

Format Builderで正しい構文を入力して、区切り記号を指定できます。たとえば、タブ文字(\u009)を区切り記号として指定する場合、これに一致する構文\tを入力します。

表20-1 文字区切り記号

構文 一致する文字
x

文字x

\\

バックスラッシュ

\0n

8進値0n (<= n <= 7)を含む文字

\0nn

8進値0nn (0 <= n <= 7)を含む文字

\0mnn

8進値0mnn (0 <= m <= 3、0 <= n <= 7)を含む文字

\xhh

16進値0xhhを含む文字

\uhhhh

16進値0xhhhhを含む文字

\t

タブ文字(\u0009)

\n

改行(ライン・フィード)文字(\u000A)

\r

キャリッジ・リターン文字(\u000D)

\f

改ページ文字(\u000C)

\a

アラート(ベル)文字(\u0007)

\e

エスケープ文字(\u001B)

\cx

xに対応する制御文字


詳細は、http://java.sun.com/j2se/1.4/docs/api/java/util/regex/Pattern.htmlを参照してください。

20.13 区切り記号の指定

区切り記号は参照または値によって指定できます。

可変長のデータ型の終了点を区切り記号で指定できます。区切り記号とは、フィールドの終わりをマークする文字。フィールド・データは区切り記号が見つかるまで続きます。

20.13.1 参照による指定

区切り記号文字を含む1つまたは複数のフィールドを指定します。フィールドが一覧表示されている順序で区切り記号のマッチングが行われます。参照フィールド・ボタンをクリックすると、参照フィールドの選択ダイアログ・ボックスが開きます。このダイアログ・ボックスでは、参照フィールドを選択して、区切り記号のマッチングを行う順序を設定します。

図20-1 参照フィールドの選択

図20-1の説明が続きます
「図20-1 参照フィールドの選択」の説明

図20-1では、左ペインに参照として使用できるフィールドが表示されます。フィールドをクリックして選択してから、二重矢印ボタンをクリックすると、フィールドが追加されます。フィールドを選択した後に、フィールドの順序を並べ替えることができます。それには、右ペインでフィールドを選択し、上矢印ボタンまたは下矢印ボタンをクリックして、フィールドを上下に移動します。「OK」をクリックします。選択したフィールド名が参照フィールド・ボタンの右側のフィールドに表示されます。図20-2を参照してください。

図20-2 参照フィールド

図20-2の説明が続きます
「図20-2 参照フィールド」の説明

20.13.2 値による指定

1つまたは複数の区切り記号を、指定したセパレータ文字で区切って入力します。参照フィールド「値」の両方を指定した場合は、「Ref Fields」の方が優先されます。一致する区切り記号が見つからない場合は、指定された区切り記号の値を使用して、区切り記号のマッチングが行われます。値とセパレータの例は次のとおりです。

「値」= ,|~|;

セパレータ= |

このフィールドの区切り記号はカンマ、ティルダ、またはセミコロンになります。

フィールドが省略可能である場合は、「オプション」チェック・ボックスがデフォルトで選択されて有効になっています。フィールドが存在しない場合でもバイナリ・データに区切り記号が含まれるようにするには、「オプション」チェック・ボックスを選択解除する必要があります。

20.14 区切り記号の一致ルール

フィールド・データ内に出現した区切り記号をスキップして、区切り記号ではなくフィールド・データとして扱われるように、ルールを指定することができます。たとえば、区切り記号文字が;(セミコロン)で、フィールド・データがA;Bである場合、AとBの間にある;文字は、区切り記号ではなく、フィールド・データの一部として認識される必要があります。区切り記号の一致ルールを指定するために、次のオプションを指定できます。

20.14.1 データ区切り記号

フィールド・データの最初と最後に置かれる文字を指定します。たとえば、Data Delim Charが"(二重引用符)である場合、データは"A;B";となります。図20-3を参照してください。

図20-3 データ区切り記号

図20-3の説明が続きます
「図20-3 データ区切り記号」の説明

20.14.2 エスケープ文字

フィールド・データ内に出現する区切り記号の前に置かれるエスケープ文字を指定します。エスケープ文字の値は参照フィールドを通じて取得されます。エスケープ文字フィールドに値を指定します。たとえば、エスケープ文字が\\である場合、データはA\\;B;となります。図20-4を参照してください。

図20-4 エスケープ文字

図20-4の説明が続きます
「図20-4 エスケープ文字」の説明


注意:

そのフィールドが構造内で最後のフィールドでなくても、フィールド区切り記号、および親構造のすべての共有区切り記号がスキップされます。たとえば、次のようなMFL構造を考えてみます。
Root Element
Group1 with shared delimiter *
  Field1 with delimiter ,
  Field2 with delimiter "
Group2 with shared delimiter ~
 Field3 with delimiter ,
Optional field4 with delimiter ~

この例では、Field3データには*、~または,が含まれる可能性があります。これらの区切り記号は、そのフィールドがGroup2の最後のフィールドでなくても、指定されたエスケープ文字によってスキップされます。


20.14.3 なし

区切り記号の一致ルールが必要ない場合は、このオプションを選択します。