インバウンド・ネイティブ・データから添付として格納されるXMLへの変換方法

この項では、ネイティブ・データ・フォーマットのインバウンド・メッセージを添付に変換する方法について説明します。添付は、受信データが非常に大きいシナリオで便利です。

インバウンド・ネイティブXSDフォーマットを添付に変換するには:

  1. BPELプロセスを作成します(この例では、一方向BPELプロセスが作成されます)。
  2. BPELプロセスをSOAコンポジット・エディタで右クリックし、「編集」を選択します。

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

  3. 「コンポーネント」ウィンドウの「Oracle Extensions」セクションを展開し、変換アクティビティをBPELプロセスにドラッグします。
  4. 変換アクティビティを右クリックし、「編集」を選択します。

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

  5. 「ネイティブからXML」を選択して、インバウンド・ネイティブ・データを添付に変換します。
  6. 「入力」フィールドの右側にある「参照」(1番目)アイコンをクリックします。
  7. 入力変数を選択します(この例では、巨大な文字列)。図6-22に詳細を示します。

    図6-22 入力変数の選択

    図6-22の説明が続きます
    「図6-22 入力変数の選択」の説明
  8. 「NXSDスキーマ」フィールドの右側にある「検索」(1番目)アイコンを選択し、「タイプ・チューザ」ダイアログを起動します。
  9. スキーマ・ファイルを選択して「OK」をクリックします。この例では、「ネイティブ・データからXMLデータへの変換方法」と同じスキーマ・ファイルが使用されています。図6-23に詳細を示します。

    図6-23 スキーマ・ファイルの選択

    図6-23の説明が続きます
    「図6-23 スキーマ・ファイルの選択」の説明
  10. 「出力タイプ」リストから、「添付」を選択します。

    ダイアログがリフレッシュされ、「場所」フィールドが表示されます。

  11. 「場所」フィールドに、添付へのディレクトリ・パスを入力します。このフィールドを空白のままにすると、添付はデータベースに格納されます。
  12. 「出力」フィールドの右側にある「追加」(2番目)アイコンをクリックし、「変数の作成」ダイアログを起動します。
  13. 「OK」をクリックして出力変数を作成します。出力変数はタイプ添付に属します。

    「変換」ダイアログは図6-24のようになります。

    図6-24 添付の「変換」ダイアログ

    図6-24の説明が続きます
    「図6-24 添付の「変換」ダイアログ」の説明
  14. 「OK」をクリックします。
  15. 「アプリケーション」ウィンドウで、BPELプロセスのファイルを選択します。
  16. 「ソース」をクリックします。
  17. 添付用に指定した場所がhref属性にコピーされることに注意してください。href属性は、ステップ12で作成されたタイプ添付の変数の一部です。
    . . .
    <copy>
      <from> '/scratch/sbandyop/tmp/out/dhqa_addr_att.xml'</from>
      <to> $Translate1_OutputVar_1/@href</to>
    </copy>
    . . .
    
  18. 「アプリケーション」ウィンドウで、BPELプロセスのWSDLファイルを選択します。
  19. 「ソース」をクリックします。
  20. ファイルのWSDL定義セクションに追加されたattachmentコードと、ステップ12で作成された変数により指し示されるhref属性に注意してください。
    . . .
    xmlns:attach="http://xmlns.oracle.com/DHQATranslateApp/DHQATranslateToAttach/BPELProcess1/attachment"
    . . .
    . . .
    . . .
       <element name="attachmentElement">
          <complexType>
             <attribute name="href" type="string"/>
          </complexType>
       </element>
    . . .
    . . .
    

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