ネイティブ・データからXMLデータへの変換方法
この項では、インバウンド・メッセージをネイティブXSDフォーマット(この例では、文字列データ)で受信しXMLフォーマットに変換するために、変換アクティビティをBPELプロセスで構成方法について説明します。ネイティブ・フォーマット・ビルダー・ウィザードを使用して、新しいスキーマ・ファイルを作成します。
ネイティブ・データをXMLデータに変換するには:
- 
                        BPELプロセスをSOAコンポジット・エディタで右クリックし、「編集」を選択します。 Oracle BPELデザイナが表示されます。 
- 
                        「コンポーネント」ウィンドウの「Oracle Extensions」セクションを展開し、変換アクティビティをBPELプロセスにドラッグします。図6-7に詳細を示します。 
- 
                        変換アクティビティを右クリックし、「編集」を選択します。 「変換」ダイアログが編集用に表示されます。 
- 
                        NativeからXMLにを選択して、インバウンド・ネイティブ・データ(この例では、単一の文字列)を受信します。 
- 
                        「入力」フィールドの右側にある「参照」アイコンをクリックします。 「変数XPathビルダー」ダイアログが表示されます。 
- 
                        XMLフォーマットに変換するインバウンド・ペイロードの一部であるネイティブ文字列を選択して、「OK」をクリックします。図6-8に詳細を示します。 
- 
                        「NXSDスキーマ」フィールドの右側で、使用するスキーマを選択します。 - 
                              スキーマが存在する場合、「検索」(1番目)アイコンを選択し、「タイプ・チューザ」ダイアログを起動します。 
- 
                              スキーマが存在しない場合、2番目のアイコンを選択して、ネイティブ・フォーマット・ビルダー・ウィザードを起動し、スキーマを作成します。 
 次の例では、ネイティブ・フォーマット・ビルダー・ウィザードを使用して、カンマ区切りデリミタを使用するテキスト・ファイルから新規スキーマを作成する方法について説明しています。 - 
                              「ファイル名とディレクトリ」ダイアログの「ファイル名」フィールドで、名前を入力し、「次へ」をクリックします。 
- 
                              「タイプの選択」ダイアログで、「デリミタ付き(フィールドが特殊文字で区切られているレコードが含まれています)」を選択し、「次へ」をクリックします。 
- 
                              「ファイルの説明」ダイアログで、「参照」 をクリックし、カンマ区切りデリミタを使用するテキスト・ファイルを選択します。 「サンプル・ファイルの選択」ダイアログが表示されます。 
- 
                              使用するファイルを選択して「OK」をクリックします。 このファイルの内容が、「ファイルの説明」ダイアログの下部に表示されます。図6-9に詳細を示します。 
- 
                              「次へ」をクリックします。 
- 
                              「レコード編成」で、「次へ」をクリックします。 
- 
                              「要素の指定」ダイアログで、レコードを示す要素の名前を入力(この例では、 addrを入力)し、「次へ」をクリックします。
- 
                              フィールドをテキスト・ファイルで区切る特殊文字としてカンマのデフォルト値を「デリミタの指定」ダイアログで受け入れ、「次へ」をクリックします。 
- 
                              「フィールド・プロパティ」ダイアログの「名前」列で、「C1」、「C2」、「C3」、「C4」、「C5」および「C6」のかわりに適切な値を入力し、「次へ」をクリックします。図6-10に詳細を示します。 新しいスキーマが生成されたネイティブ・フォーマット・スキーマ・ダイアログに表示されます。 
- 
                              「テスト」をクリックして、スキーマをテストします。 
- 
                              「結果XML」セクションで、緑色の矢印をクリックします。 ネイティブ・スキーマとその結果のXMLが表示されます。図6-11に詳細を示します。 
- 
                              「OK」をクリックして、生成されたネイティブ・フォーマット・スキーマ・ダイアログに戻ります。 
- 
                              「次へ」、「終了」、の順にクリックします。 addr_schema1.xsdファイルが生成され、「変換」ダイアログの「NXSDスキーマ」フィールドに表示されます。 
 
- 
                              
- 
                        「出力タイプ」リストから、「DOM」を選択します。「DOM」を選択した場合、DOMとSDOMの両方がサポートされます。 
- 
                        「出力」フィールドの右側で、スキーマの変数を選択します。 - 
                              ステップ7で指定されたスキーマに準拠している出力変数がある場合、「検索」(1番目)アイコンをクリックし、既存の変数を選択します。 
- 
                              既存の変数がない場合、「追加」(2番目)アイコンをクリックし、「変数の作成」ダイアログを起動します。デフォルト値をそのまま使用するか、変数の名前を変更して出力変数を作成して、「OK」をクリックします。ステップ7で作成されたスキーマを変数は自動的に指します。 
 完成すると、「変換」ダイアログは図6-12のようになります。 
- 
                              
- 
                        
                        
                        同期リクエストの出力は、新しいスキーマを指すように変更する必要があります。 
- 
                        「アプリケーション」ウィンドウで、BPELプロセスのWSDLファイル(この例では、BPELProcess1.wsdlという名前)を選択します。 
- 
                        Oracle BPELデザイナの下部で、「ソース」をクリックします。 
- 
                        WSDLファイルの<wsdl:message>セクションまでスクロールします。 
- 
                        レスポンス要素(この例では、名前はprocessResponse)をBPELProcess1ResponseMessageメッセージ用にクリックし、プロパティ・インスペクタを右下の隅で起動します。図6-13に詳細を示します。 
- 
                        プロパティ・インスペクタで新規ルート要素を選択します(この例では、ns1:addr)。図6-14に詳細を示します。 ns1:addrルート要素がWSDLファイルに追加されています。図6-15に詳細を示します。 
- 
                        変換アクティビティの下にあるBPELプロセスにassignアクティビティをドラッグします。 変換出力変数をBPEL出力変数に割り当てます。 
- 
                        assignアクティビティの「コピー・ルール」タブで、変数をマップし、「OK」をクリックします。図6-16に詳細を示します。 これで、設計は完了します。 









