ネイティブ・データからXMLデータへの変換方法

この項では、インバウンド・メッセージをネイティブXSDフォーマット(この例では、文字列データ)で受信しXMLフォーマットに変換するために、変換アクティビティをBPELプロセスで構成方法について説明します。ネイティブ・フォーマット・ビルダー・ウィザードを使用して、新しいスキーマ・ファイルを作成します。

ネイティブ・データをXMLデータに変換するには:

  1. BPELプロセスをSOAコンポジット・エディタで右クリックし、「編集」を選択します。

    Oracle BPELデザイナが表示されます。

  2. 「コンポーネント」ウィンドウの「Oracle Extensions」セクションを展開し、変換アクティビティをBPELプロセスにドラッグします。図6-7に詳細を示します。

    図6-7 BPELプロセスの変換アクティビティ

    図6-7の説明が続きます
    「図6-7 BPELプロセスの変換アクティビティ」の説明
  3. 変換アクティビティを右クリックし、「編集」を選択します。

    「変換」ダイアログが編集用に表示されます。

  4. NativeからXMLにを選択して、インバウンド・ネイティブ・データ(この例では、単一の文字列)を受信します。

  5. 「入力」フィールドの右側にある「参照」アイコンをクリックします。

    「変数XPathビルダー」ダイアログが表示されます。

  6. XMLフォーマットに変換するインバウンド・ペイロードの一部であるネイティブ文字列を選択して、「OK」をクリックします。図6-8に詳細を示します。

    図6-8 変数XPathビルダー

    図6-8の説明が続きます
    「図6-8 変数XPathビルダー」の説明
  7. 「NXSDスキーマ」フィールドの右側で、使用するスキーマを選択します。

    • スキーマが存在する場合、「検索」(1番目)アイコンを選択し、「タイプ・チューザ」ダイアログを起動します。

    • スキーマが存在しない場合、2番目のアイコンを選択して、ネイティブ・フォーマット・ビルダー・ウィザードを起動し、スキーマを作成します。

    次の例では、ネイティブ・フォーマット・ビルダー・ウィザードを使用して、カンマ区切りデリミタを使用するテキスト・ファイルから新規スキーマを作成する方法について説明しています。

    1. 「ファイル名とディレクトリ」ダイアログの「ファイル名」フィールドで、名前を入力し、「次へ」をクリックします。

    2. 「タイプの選択」ダイアログで、「デリミタ付き(フィールドが特殊文字で区切られているレコードが含まれています)」を選択し、「次へ」をクリックします。

    3. 「ファイルの説明」ダイアログで、「参照」 をクリックし、カンマ区切りデリミタを使用するテキスト・ファイルを選択します。

      「サンプル・ファイルの選択」ダイアログが表示されます。

    4. 使用するファイルを選択して「OK」をクリックします。

      このファイルの内容が、「ファイルの説明」ダイアログの下部に表示されます。図6-9に詳細を示します。

      図6-9 サンプル・ファイルの内容

      図6-9の説明が続きます
      「図6-9 サンプル・ファイルの内容」の説明
    5. 「次へ」をクリックします。

    6. 「レコード編成」で、「次へ」をクリックします。

    7. 「要素の指定」ダイアログで、レコードを示す要素の名前を入力(この例では、addrを入力)し、「次へ」をクリックします。

    8. フィールドをテキスト・ファイルで区切る特殊文字としてカンマのデフォルト値を「デリミタの指定」ダイアログで受け入れ、「次へ」をクリックします。

    9. 「フィールド・プロパティ」ダイアログの「名前」列で、「C1」「C2」「C3」「C4」「C5」および「C6」のかわりに適切な値を入力し、「次へ」をクリックします。図6-10に詳細を示します。

      図6-10 特定の値で置換される「名前」列デフォルト値

      図6-10の説明が続きます
      「図6-10 特定の値で置換される「名前」列デフォルト値」の説明

      新しいスキーマが生成されたネイティブ・フォーマット・スキーマ・ダイアログに表示されます。

    10. 「テスト」をクリックして、スキーマをテストします。

    11. 「結果XML」セクションで、緑色の矢印をクリックします。

      ネイティブ・スキーマとその結果のXMLが表示されます。図6-11に詳細を示します。

      図6-11 ネイティブ・スキーマのテスト出力

      図6-11の説明が続きます
      「図6-11 ネイティブ・スキーマのテスト出力」の説明
    12. 「OK」をクリックして、生成されたネイティブ・フォーマット・スキーマ・ダイアログに戻ります。

    13. 「次へ」「終了」、の順にクリックします。

      addr_schema1.xsdファイルが生成され、「変換」ダイアログの「NXSDスキーマ」フィールドに表示されます。

  8. 「出力タイプ」リストから、「DOM」を選択します。「DOM」を選択した場合、DOMとSDOMの両方がサポートされます。

  9. 「出力」フィールドの右側で、スキーマの変数を選択します。

    1. ステップ7で指定されたスキーマに準拠している出力変数がある場合、「検索」(1番目)アイコンをクリックし、既存の変数を選択します。

    2. 既存の変数がない場合、「追加」(2番目)アイコンをクリックし、「変数の作成」ダイアログを起動します。デフォルト値をそのまま使用するか、変数の名前を変更して出力変数を作成して、「OK」をクリックします。ステップ7で作成されたスキーマを変数は自動的に指します。

    完成すると、「変換」ダイアログは図6-12のようになります。

  10. 図6-12 ネイティブからXMLに変換するために構成された「変換」ダイアログ

    図6-12の説明が続きます
    「図6-12 ネイティブからXMLに変換するために構成された「変換」ダイアログ」の説明

    同期リクエストの出力は、新しいスキーマを指すように変更する必要があります。

  11. 「アプリケーション」ウィンドウで、BPELプロセスのWSDLファイル(この例では、BPELProcess1.wsdlという名前)を選択します。

  12. Oracle BPELデザイナの下部で、「ソース」をクリックします。

  13. WSDLファイルの<wsdl:message>セクションまでスクロールします。

  14. レスポンス要素(この例では、名前はprocessResponse)をBPELProcess1ResponseMessageメッセージ用にクリックし、プロパティ・インスペクタを右下の隅で起動します。図6-13に詳細を示します。

    図6-13 WSDLファイルのルート要素選択

    図6-13の説明が続きます
    「図6-13 WSDLファイルのルート要素選択」の説明
  15. プロパティ・インスペクタで新規ルート要素を選択します(この例では、ns1:addr)。図6-14に詳細を示します。

    図6-14 プロパティ・インスペクタで選択されたルート要素

    図6-14の説明が続きます
    「図6-14 プロパティ・インスペクタで選択されたルート要素」の説明

    ns1:addrルート要素がWSDLファイルに追加されています。図6-15に詳細を示します。

    図6-15 WSDLファイルで表示される新規ルート要素

    図6-15の説明が続きます
    「図6-15 WSDLファイルで表示される新規ルート要素」の説明
  16. 変換アクティビティの下にあるBPELプロセスにassignアクティビティをドラッグします。

    変換出力変数をBPEL出力変数に割り当てます。

  17. assignアクティビティの「コピー・ルール」タブで、変数をマップし、「OK」をクリックします。図6-16に詳細を示します。

    図6-16 assignの編集ダイアログ

    図6-16の説明が続きます
    「図6-16 assignの編集ダイアログ」の説明

    これで、設計は完了します。