Oracle Service Bus Console の使い方

     前  次    目次     
ここから内容

プロキシ サービス : アクション

アクションとは、プロキシ サービスを流れるメッセージの定義方法を定義するパイプライン ステージ、エラー ハンドラ ステージ、ルート ノード、およびブランチ ノードの要素です。

メッセージ フローでのアクションの追加と編集

アクションとは、プロキシ サービスを流れるメッセージの定義方法を定義するパイプライン ステージ、エラー ハンドラ ステージ、ルート ノード、およびブランチ ノードの要素です。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

また、パイプライン ステージ、ルート ノード、およびエラー ハンドラ ステージをすでに追加していることも前提としています。以下を参照してください。

メッセージ フローにアクションを追加するには

  1. アクションを追加するコンポーネントを選択します。たとえば、 [ステージ] アイコンをクリックして、[ステージの編集] をクリックするか、または、 [ルート ノード] アイコンをクリックし、[ルートの編集] をクリックします。
  2. ステージまたはルート ノードにすでに追加しているアクションに応じて、以下のいずれかを行います。
    • まだアクションを何も追加していない場合、[ステージ コンフィグレーションの編集] ページには、 [アクションの追加] アイコンのみが表示されます。そのアイコンをクリックして、アクションの種類を選択します。
    • すでに 1 つ以上のアクションを追加している場合、[ステージ コンフィグレーションの編集] ページには、 [パブリッシュ] アイコンまたは  [ ルーティング] アイコンなどの、それらのアクションを表す 1 つ以上のアイコンが表示されます。該当するアイコンをクリックし、[アクションの追加] をクリックして、アクションの種類を選択します。
    • パブリック アクションの要求および応答アクションなどの一部のアクションには、アクションを割り当てるための  [アクションの追加] リンクが含まれています。そのアイコンをクリックして、アクションの種類を選択します。
    • メッセージ フローのアクションは任意の組み合わせで連鎖できます。

      メッセージ フローにコンフィグレーションできるアクションを表 19-1 に示します。

      表 19-1 メッセージ フローのアクション 
      アクション
      説明
      詳細情報
      通信
         
      動的パブリッシュ
      Xquery 式によって識別されたサービスにメッセージをパブリッシュします。
      パブリッシュ
      静的に指定されたサービスにメッセージをパブリッシュします。
      パブリッシュ テーブル
      静的に指定されたゼロ個以上のサービスにメッセージをパブリッシュします。切り替え式の条件ロジックを使用して、パブリッシュに使用するサービスを実行時に決定します。
      ルーティング オプション
      発信要求の URI、サービスの品質、モード、再試行パラメータ、メッセージ優先度の各プロパティの一部またはすべてを変更します。
      サービス コールアウト
      Oracle Service Bus に登録済みのプロキシ サービスまたはビジネス サービスの同期 (ブロック) コールアウトをコンフィグレーションする。
      転送ヘッダ
      メッセージの転送ヘッダの値を設定する。
      動的ルーティング
      XQuery リソースで使用できるルーティング情報に基づいて、メッセージ ルートを割り当てます。
      ルーティング
      メッセージのターゲット サービスを指定し、ターゲット サービスへのメッセージのルーティング方法をコンフィグレーションする。
      ルーティング テーブル
      切り替え式の条件表に含まれた一連のルートを割り当てる。これは、単一の XQuery 式の結果に基づいて、異なるルートが選択される。
      フロー制御
         
      For Each
      値のシーケンスを反復処理し、アクションのブロックを実行します。
      If...then...
      XQuery 式のブール結果に基づいて、1 つのアクションまたは一連のアクションを条件付きで実行します。
      エラーを発生させる
      指定されたエラー コード (文字列) と記述を含む例外を発生させます。
      返信
      呼び出し元に即時返信を送信します。
      再開
      エラー ハンドラによってエラーが処理された後、メッセージ フローを再開します。
      スキップ
      実行時に現在のステージの実行がスキップされて、処理がメッセージ フローの次のステージに進むように指定します。
      メッセージ処理
         
      割り当て
      コンテキスト変数に XQuery 式の結果を割り当てます。
      削除
      XPath 式で指定されたコンテキスト変数または一連のノードを削除します。
      挿入
      XPath 式で選択したノードを基準として特定された場所に XQuery 式の結果を挿入します。
      Java コールアウト
      パイプラインから Java メソッドを呼び出す。
      MFL 変換
      パイプラインで非 XML から XML、または XML から非 XML に変換します。
      名前変更
      要素のコンテンツを変更せずに、XPath 式で選択した要素の名前を変更します。
      置換
      XPath 式で指定されたノードまたはノードのコンテンツを置き換えます。
      検証
      XML スキーマ要素または WSDL リソースに対して、XPath 式で選択した要素を検証します。
      レポート
       
      レポート
      アラート
      パイプラインのメッセージ コンテキストに基づいて、アラート通知を送信します。
      ログ
      ログに記録するメッセージを作成する。
      レポート
      プロキシ サービスのメッセージ レポートを有効にします。

  3. アクションを追加したら、表 19-2 に示すように、さらにステージまたはルート ノードのアクションをコンフィグレーションできます。
  4. 表 19-2 ステージ コンフィグレーションの編集のタスク  
    作業内容
    手順
    アクションを削除する
    該当するアイコンを選択してから、[このアクションを削除] をクリックする。
    アクションを下に移動する (降格する)
    該当するアイコンを選択してから、[アクションを下に移動] をクリックする。アクションがこのステージに含まれる次のアクションの下に移動する。
    このオプションは、ステージに 2 つ以上のアクションが含まれる場合にのみ表示される。
    アクションを上に移動する (昇格する)
    該当するアイコンを選択してから、[アクションを上に移動] をクリックする。アクションがこのステージに含まれる前のアクションの上に移動する。

    このオプションは、ステージに 2 つ以上のアクションが含まれる場合にのみ表示される。

    アクションを切り取る
    該当するアイコンを選択してから、[切り取り] をクリックする。
    アクションをコピーする
    該当するアイコンを選択してから、[コピー] をクリックする。
    切り取りまたはコピーしたアクションを貼り付ける
    該当するアイコンを選択してから、[アクションの貼り付け] をクリックする。
    アクションのコピーと貼り付けは、ステージ全体で可能である。ただし、[割り当て] アクション、[置換] アクション、または [挿入] アクションの場合は、以下に注意。
    • ソース (コピー) ステージの変数関連およびユーザ定義のすべてのネームスペースは、ターゲット (貼り付け) ステージではユーザ定義のネームスペースとして追加される。
    • 重複するネームスペース (ソース ステージおよびターゲット ステージ両方で同一のネームスペース) はコピーされない。
    • 衝突するネームスペース (同じプレフィックスを使用しているが URI の異なるネームスペース宣言) はコピーされる。コンフィグレーションの保存は可能であるが、ステージ B の衝突するネームスペース宣言を削除しない限り、アクティブ化することはできない。
    ステージを検証する
    [ステージ コンフィグレーションの編集] ページで、[検証] をクリックして、そのステージでコンフィグレーションしたすべてのアクションを検証する。

  5. [保存] をクリックして、現在のセッションで更新をコミットします。
  6. メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、メッセージ フローの作成を続けます。
  7. [保存] をクリックして、現在のセッションで更新をコミットします。
  8. セッションを終了してコンフィグレーションをランタイムにデプロイするには、[Change Center] の [アクティブ化] をクリックします。

パブリッシュ アクションの追加

静的に指定された、メッセージの対象サービスを指定し、メッセージのパッケージおよびサービスへの送信方法をコンフィグレーションするには、パブリッシュ アクションを使用します。

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. [アクションの追加|通信|パブリッシュ] を選択します。
  3. [<サービス>] をクリックします。[サービスの選択] ページが表示されます。
  4. リストからサービスを選択してから、[送信] をクリックします。これがメッセージのターゲット サービスとなります。
  5. サービスの操作がすでに定義されている場合、[操作] リストから選択して、呼び出す操作を指定できます。
  6. 発信処理を着信処理と同じにする場合、[着信操作の発信での使用] チェックボックスを選択します。
  7. メッセージのパッケージとサービスへの送信方法をコンフィグレーションするために、[要求アクション] フィールドで [アクションの追加] をクリックします。その後で、サービスと関連付けるアクションを選択します。複数のアクションを追加することも可能です。「メッセージ フローでのアクションの追加と編集」を参照してください。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

パブリッシュ テーブル アクションの追加

ゼロまたはそれ以上の静的に指定されたサービスにメッセージをパブリッシュするには、パブリッシュ テーブル アクションを使用します。切り替え式の条件ロジックを使用して、パブリッシュに使用するサービスを実行時に決定します。

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. [アクションの追加|通信|パブリッシュ テーブル] を選択します。
  3. [] をクリックします。[XQuery 式エディタ] ページが表示されます。実行時にルーティングの決定を行う値を返す XQuery 式を作成します。「インライン XQuery および XPath 式の作成と編集」を参照してください。
  4. [演算子] リストから、比較演算子を選択します。その後で、隣のフィールドに、XQuery 式から返される値が評価される対象の値を入力します。
  5. [<サービス>] をクリックして、指定した値の式による評価が true の場合にメッセージをパブリッシュするサービスを選択します。[サービスの選択] ページが表示されます。
  6. リストからサービスを選択してから、[送信] をクリックします。これがメッセージのターゲット サービスとなります。
  7. サービスの操作がすでに定義されている場合、[invoking] リストから選択して、呼び出す操作を指定できます。
  8. 発信処理を着信処理と同じにする場合、[着信操作の発信での使用] チェックボックスを選択します。
  9. メッセージのパッケージとサービスへの送信方法をコンフィグレーションするために、[要求アクション] フィールドの [アクションの追加] をクリックし、サービスに関連付ける 1 つまたは複数のアクションを選択します。追加するアクションの種類の詳細については、「メッセージ フローでのアクションの追加と編集」を参照してください。
  10. 注意 : ステージ エディタでは、ネストは 4 累積レベルまでに制限されています。5 番目のレベルを追加しようとしても、そのネスト アクションは表示されません。累積レベルには、すべてのブランチ アクション (If...Then...条件、パブリッシュ テーブル、ルート テーブル) が含まれます。たとえば、2 レベルの条件と、ルート テーブルを含むパブリッシュ テーブルを使用して、合計 4 レベルにすることができます。ただし、別の条件を追加 (最後のパブリッシュ テーブルに対して) すると、その条件は表示されません。
  11. 新しいケースを挿入するには、 [ケース] アイコンをクリックして、[新しいケースの挿入] を選択します。
  12. 新しいケースについて、手順 4 ~ 8 を繰り返します。
  13. ビジネス ロジックで指定されているようにケースを追加します。
  14. 最後に定義したケースの [ケース] アイコンをクリックして、[デフォルト ケースの挿入] を選択し、デフォルト ケースを最後に追加します。
  15. デフォルト ケースをコンフィグレーションします。このケースのコンフィグレーションでは、それ以前のケースが満たされていない場合のルーティングの動作を指定します。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

動的パブリッシュ アクションの追加

XQuery 式によって指定されたサービスに対してメッセージをパブリッシュするには、動的パブリッシュ アクションを使用します。

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|通信|動的にパブリッシュ] を選択します。
  3. [] をクリックします。
  4. [XQuery 式エディタ] で、XQuery 式を入力するか、以下と同様の結果となる XQuery リソースを選択します。
  5. <ctx:route>
    <ctx:service isProxy="false">project/folder/businessservicename</ctx:service>
    <ctx:operation>foo</ctx:operation>
    </ctx:route>
    注意 : operation 要素は省略可能です。
  6. [保存] をクリックします。
  7. [要求アクション] フィールドの [アクションの追加] をクリックしてアクションを追加したうえで、そのサービスに関連付けるアクションを選択します。複数のアクションを追加することも可能です。追加できるアクションの種類の詳細については、「メッセージ フローでのアクションの追加と編集」のアクションの表を参照してください。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

ルーティング オプション アクションの追加

$outbound の発信要求の URI、サービスの品質、モード、および再試行パラメータの一部またはすべてを変更するには、ルーティング オプション アクションを使用します。これらのプロパティは、$outbound 上の割り当て、挿入、置換、または削除アクションで変更できますが、ルーティング オプションを使用すると、XPath、XQuery、または $outbound コンテキスト変数の構造を理解していなくてもこのタスクを実行できます。

ルーティング オプションのアクションはコンテキスト変数 $outbound が有効な場合にのみ使用できます。以下のアクションに追加できます。

ルーティング オプションのアクションをコンフィグレーションするには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|通信|ルーティング オプション] を選択します。
  3. 以下の手順のいずれか、またはすべてを実行します。
    • 発信メッセージの URI を設定するには、[URI] を選択して、[XQuery 式エディタ] をクリックする。URI を返す式を入力します。これで呼び出されたサービスの URI がオーバーライドされます。
    • サービスの品質要素を設定するには、[サービスの品質] を選択して、ドロップダウン リストで [サービスの品質] オプションを選択します。これで、自動計算されたデフォルトがオーバーライドされます。
    • モードを設定するには、[モード] を選択して、ドロップダウン リストから [要求] または [要求 - 応答] を選択します。
    • 注意 : これは、通常、呼び出されたサービスのインタフェースに基づいて、自動的に設定されています。Any Soap または Any XML サービスなどでは、設定されていない場合もあります。
    • 再試行間隔を設定するには、[再試行間隔] を選択して、再試行の間隔を秒単位で指定する。これで呼び出されたサービスでコンフィグレーションされたデフォルトがオーバーライドされます。
    • 再試行回数を設定するには、[再試行回数] を選択して、アクションを中断するまでの再試行回数を指定する。これで呼び出されたサービスでコンフィグレーションされたデフォルトがオーバーライドされます。
    • メッセージの優先度を設定するには、[優先度] を選択して、[XQuery 式エディタ] をクリックします。正の整数を返す式を入力します。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

サービス コールアウト アクションの追加

Oracle Service Bus に登録済みのプロキシ サービスまたはビジネス サービスの同期 (ブロック) コールアウトをコンフィグレーションするには、サービス コールアウト アクションを使用します。
  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|通信|サービス コールアウト] を選択します。
  3. [<サービス>] をクリックします。サービス ブラウザが表示されます。
  4. 登録済みのプロキシ サービスまたはビジネス サービスのリストでサービスを選択し、[送信] をクリックします。
  5. 上記の手順 3 で選択したサービスが WSDL ベースであり、サービスで呼び出せる操作がある場合、これらの操作は [<操作> の呼び出し] ドロップダウン リストに一覧表示されます。サービスで呼び出す操作を選択します。
  6. 次のいずれかのオプションを選択して、要求メッセージと応答メッセージのコンフィグレーション方法を指定します。
    • [SOAP 本体のコンフィグレーション] を選択して、SOAP 本体をコンフィグレーションします。このオプションを選択すると、$body を直接使用できます。
    • 注意 : このオプションでサポートしている SOAP-RPC エンコード形式は、ペイロードのパラメータやドキュメントをコンフィグレーションしている場合はサポートされません。
    • [ペイロード パラメータのコンフィグレーション] または [ペイロード ドキュメントのコンフィグレーション] を選択して、ペイロードをコンフィグレーションします。
  7. その後のコンフィグレーション オプションは、手順 3. で選択したサービスの種類および手順 5. でそのサービスに対して選択したコンフィグレーション オプションの種類によって決まります。表 19-3 に、各種類のサービスで使用できるオプションを示します。
    表 19-3 各サービスの種類のサービス コールアウト コンフィグレーション オプション 
    選択したサービスのタイプ
    [SOAP 本体のコンフィグレーション] のオプション
    [ペイロード パラメータのコンフィグレーション] オプションまたは
    [ペイロード ドキュメントのコンフィグレーション] オプション
    • SOAP RPC
    • SOAP ドキュメント
    • 任意の SOAP
    • XML
    • 任意の XML
    • メッセージング
  8. 表 19-4 に、上記の表 19-3 に示した各オプションの手順を示します。

    表 19-4 サービス コールアウトのコンフィグレーション オプション 
    オプション
    手順
    [SOAP 要求本体] および
    [SOAP 応答本体]
    これらのオプションをコンフィグレーションするには、次の手順を実行します。
    • [SOAP 要求本体] フィールドに、コールアウト要求の SOAP 本体要素の XML を保持する変数の名前を入力します。
    • [SOAP 応答本体] フィールドに、応答の SOAP 本体要素の XML がバインドされる変数の名前を入力します。
    [SOAP 要求ヘッダ] および
    [SOAP 応答ヘッダ]
    これらのオプションをコンフィグレーションするには、次の手順を実行します。
    • [SOAP 要求ヘッダ] フィールドに、コールアウト要求の SOAP ヘッダ要素の XML を保持する変数の名前を入力します。
    • [SOAP 要求ヘッダ] の入力ドキュメントは、<soap-env:Header>...</soap-env:Header> でラップする必要があります。

    • [SOAP 応答ヘッダ] フィールドに、応答の SOAP ヘッダ (存在する場合) の XML がバインドされる変数の名前を入力します。
    [要求パラメータ] および
    [応答パラメータ]
    これらのオプションをコンフィグレーションするには、次の手順を実行します。
    • [要求パラメータ] フィールドに、実行時に評価される、要求パラメータの値を指定する変数の名前を入力します。
    • 入力変数にはコアのペイロード ドキュメントだけを指定します。SOAP パッケージは、Oracle Service Bus によって自動的に作成されます。そのため、入力ドキュメントを <soap-env:Body>...</soap-env:Body> でラップしません。

      たとえば、この要求パラメータに使用される body 入力変数を作成する場合は、$body (soap-env:Body ラッパが保持されます) ではなく、body/* (ラッパ soap-env:Body を削除します) という XPath ステートメントを使用して、その変数のコンテンツを定義します。

    • [応答パラメータ] フィールドに、実行時に応答を割り当てる変数の名前を入力します。
    [要求ドキュメント] および
    [応答ドキュメント]
    これらのオプションをコンフィグレーションするには、次の手順を実行します。
    • [要求ドキュメント変数] フィールドに、要求ドキュメントを割り当てる変数の名前を入力します。
    • SOAP ドキュメント タイプのサービスの場合、サービスに送信される SOAP メッセージの本文を作成する変数は、実行時に評価されます。任意の XML サービスの場合、サービスに送信される XML メッセージの本文を作成する変数は、実行時に評価されます。

      SOAP ドキュメント タイプのサービスおよび任意の XML サービスの場合、入力変数にはコアのペイロード ドキュメントだけを指定します。SOAP パッケージは、Oracle Service Bus によって自動的に作成されます。そのため、入力ドキュメントを <soap-env:Body>...</soap-env:Body> でラップしません。

      たとえば、この要求パラメータに使用される body 入力変数を作成する場合は、$body (soap-env:Body ラッパが保持されます) ではなく、body/* (ラッパ soap-env:Body を削除します) という XPath ステートメントを使用して、その変数のコンテンツを定義します。

      メッセージング サービスの場合、メッセージの本文を作成する変数は、サービスが予期するデータ型に基づいて評価されます。以下の制限は、メッセージング サービスで使用される変数に適用されます。

      • バイナリ データを受信するサービスの場合は、変数に ctx:binary-content 要素が必要です。
      • MFL データを受信するサービスの場合は、変数に同等の XML データが必要です。
      • テキスト データを受信するサービスの場合、変数は文字列になります。
    • [応答ドキュメント変数] フィールドに、実行時に応答ドキュメントを割り当てる変数の名前を入力する。

  9. (オプション) 1 つ以上の転送ヘッダを追加します。詳細については、「転送ヘッダ アクションの追加」を参照してください。
  10. 注意 : 指定する転送ヘッダに加え、その他のヘッダが Oracle Service Bus バインディング レイヤによって追加されます。詳細については、『Oracle Service Bus ユーザーズ ガイド』の「メッセージ フローでの転送ヘッダのコンフィグレーション」を参照してください。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

転送ヘッダ アクションの追加

メッセージのヘッダの値を設定するには、転送ヘッダ アクションを使用します。

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|通信|転送ヘッダ] を選択します。
  3. [の転送ヘッダを設定] リストから、以下のいずれかを選択して、どのメッセージ コンテキストの場所を変更するかをランタイムに対して指定します。
    • [発信要求] - 発信要求 (ルート、パブリッシュ、またはサービス コールアウト アクションでプロキシ サービスによって送信されるメッセージ) の転送ヘッダの値を設定するには、このオプションを選択します。これらのヘッダ要素は、メッセージ コンテキストの以下の場所にあります。
    • $outbound/ctx:transport/ctx:request/tp:headers

    • [着信応答] - 着信応答 (プロキシ サービスがクライアントに返信する応答メッセージ) の転送ヘッダの値を設定するには、このオプションを選択します。これらのヘッダ要素は、メッセージ コンテキストの以下の場所にあります。
    • $inbound/ctx:transport/ctx:response/tp:headers

  4. (オプション) すべてのヘッダを着信メッセージと発信メッセージとの間でパススルーするには、[パイプラインを介してすべてのヘッダを渡す] を選択します。ソース ヘッダ セットのすべてのヘッダはターゲット ヘッダ セットにコピーされ、ターゲット ヘッダ セットの既存の値はすべて上書きされます。
  5. ヘッダ固有のパス スルー オプションに関連してこのオプションを使用する方法の詳細については、『Oracle Service Bus ユーザーズ ガイド』の「メッセージ フローでの転送ヘッダのコンフィグレーション」を参照してください。

  6. 追加する各ヘッダについて、以下の手順を行います。
    1. [転送ヘッダ] テーブルで [ヘッダを追加] をクリックして、ヘッダをコンフィグレーションするためのフィールドを表示します。
    2. 以下のいずれかを実行して、ヘッダを指定します。
      • [名前] カラムのドロップダウン リストから、ヘッダ名を選択します。リストには、事前定義されたすべてのターゲット転送のヘッダ名が含まれています (たとえば、HTTP 転送の場合は Content-Type、JMS 転送の場合は JMSCorrelationID など)。
      • [その他] フィールドにヘッダ名を入力します。ヘッダ名がこのサービスの転送用に事前定義されたいずれかのヘッダでない場合、そのヘッダは転送仕様の定義のとおりユーザヘッダになります。
    3. [アクション] カラムでいずれかのオプションを選択して、ヘッダの値の設定方法を指定します。
    4. ヘッダを式に設定

      このオプションを選択すると、XQuery 式または XSLT 式を使用して、ヘッダの値を設定できます。「text/xml」などの簡単な式にすることも、複雑な XQuery 式または XSLT 式にすることもできます。

      Oracle Service Bus 転送レイヤでは、すべてのヘッダの XML 表現を文字列値として定義するため、式の結果は、ヘッダの値が設定される前に文字列に変換されます。何も返さない式のヘッダの値は、空の文字列に設定されます。式を使用してヘッダを削除することはできません。

警告 : 警告 : このアクションで指定できるヘッダ設定がすべて実行時に反映されるわけではありません。設定できる所定の転送のヘッダおよび実行時に反映されるヘッダ設定の詳細については、『Oracle Service Bus ユーザーズ ガイド』の「メッセージ フローでの転送ヘッダのコンフィグレーション」を参照してください。

ヘッダを削除

要求または応答のメタデータからヘッダが削除されるように指定します。

[着信要求からヘッダをコピー] (発信要求の転送ヘッダを設定する場合)
      または
[発信応答からヘッダをコピー] (着信応答の転送ヘッダを設定する場合)

このヘッダが着信メッセージの同じ名前を持つ対応するヘッダから発信メッセージに、またその逆に直接コピーされるように指定します。たとえば、発信要求の SOAPAction ヘッダを設定する場合は、[着信要求からヘッダをコピー] を選択すると、ランタイムが $inbound の SOAPAction 要求ヘッダから値をコピーします。着信応答ヘッダの場合、コピーするヘッダのソースは、$outbound の応答ヘッダです。

[ヘッダをコピー] オプションが選択された場合、このオプションは無視され、このヘッダのターゲットではアクションが実行されません。

グローバルな [パス スルーを介してすべてのヘッダを渡す] オプションに関連してこのオプションを使用する方法の詳細については、『Oracle Service Bus ユーザーズ ガイド』の「メッセージ フローでの転送ヘッダのコンフィグレーション」を参照してください。

  1. テーブルにヘッダを追加するには、 [ヘッダ] アイコンをクリックし、[ヘッダを追加] をクリックします。
  2. このテーブルを展開すると、別の転送ヘッダのコンフィグレーションに使用できる新しい一連のオプションを含む追加の行が表示されます。このテーブルには、必要な数のヘッダを追加することができます。ランタイムでは、対応する XML の生成時に、ネームスペースを宣言し、適切な順序でヘッダ要素を配置するため、テーブルのヘッダの順序を指定する必要はありません。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

ルート ノードへの動的ルーティングの追加

XQuery リソースで使用できるルーティング情報に基づいて、メッセージ ルートを割り当てます。

これは終端アクションなので、このアクションの後に別のアクションを追加することはできません。ただし、このアクションには、要求と応答のアクションを含めることができます。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

ルート ノードに動的ルーティングを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2.  [ルート ノード] アイコンをクリックして、[ルートの編集] をクリックします。 [ステージ コンフィグレーションの編集] ページが表示されます。
  3.  [アクションの追加] アイコンをクリックして、[通信動的にルーティング] を選択します。
  4. [] をクリックします。[XQuery 式エディタ] が表示されます。
  5. [XQuery 式エディタ] で、XQuery 式を入力する。結果は以下と同様の内容になる。
  6. <ctx:route>

        <ctx:service isProxy='true'>{$service}</ctx:service>

        <ctx:operation>{$operation}</ctx:operation>

    </ctx:route>

    注意 : プロキシ サービスが呼び出されている場合は、isProxy 属性を true に設定する必要があります。
    注意 : - サービス名は完全修飾サービス名です。
    注意 : - オペレーション要素はオプションです。
  7. [保存] をクリックします。
  8. [要求アクション] フィールドの [アクションの追加] をクリックしてアクションを追加したうえで、そのサービスに関連付けるアクションを選択します。複数のアクションを追加することも可能です。追加するアクションの種類の詳細については、「メッセージ フローでのアクションの追加と編集」のアクションの表を参照してください。
  9. [応答アクション] フィールドの [アクションの追加] をクリックしてアクションを追加したうえで、そのサービスに関連付けるアクションを選択する。複数のアクションを追加することも可能です。追加するアクションの種類の詳細については、「メッセージ フローでのアクションの追加と編集」のアクションの表を参照してください。
  10. [保存] をクリックします。
  11. メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、メッセージ フローの作成を続けます。
  12. [保存] をクリックして、現在のセッションで更新をコミットします。
  13. セッションを終了してコンフィグレーションをランタイムにデプロイするには、[Change Center] の [アクティブ化] をクリックします。

ルート ノードへのルーティング アクションの追加

そのメッセージのターゲット サービスを指定し、サービスへのメッセージのルーティング方法をコンフィグレーションします。

これは終端アクションなので、このアクションの後に別のアクションを追加することはできません。ただし、このアクションには、要求と応答のアクションを含めることができます。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

ルート ノードにルーティング アクションを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2.  [ルート ノード] アイコンをクリックして、[ルートの編集] をクリックします。 [ステージ コンフィグレーションの編集] ページが表示されます。
  3.  [アクションの追加] アイコンをクリックして、[通信|ルーティング] を選択します。
  4. [<サービス>] をクリックします。サービス ブラウザが表示されます。
  5. リストからサービスを選択してから、[送信] をクリックします。そのサービスがデフォルトのリンクの代わりに表示されます。
  6. 発信処理を着信処理と同じにする場合、[着信操作の発信での使用] チェックボックスを選択します。
  7. [要求アクション] フィールドの [アクションの追加] をクリックしてアクションを追加したうえで、そのサービスに関連付けるアクションを選択します。複数のアクションを追加することも可能です。追加できるアクションの種類の詳細については、「メッセージ フローでのアクションの追加と編集」のアクションの表を参照してください。
  8. [応答アクション] フィールドの [アクションの追加] をクリックしてアクションを追加したうえで、そのサービスに関連付けるアクションを選択する。複数のアクションを追加することも可能です。追加できるアクションの種類の詳細については、「メッセージ フローでのアクションの追加と編集」のアクションの表を参照してください。
  9. [保存] をクリックします。
  10. メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、メッセージ フローの作成を続けます。
  11. [保存] をクリックして、現在のセッションで更新をコミットします。
  12. セッションを終了してコンフィグレーションをランタイムにデプロイするには、[Change Center] の [アクティブ化] をクリックします。

ルート ノードへのルーティング テーブルの追加

ルーティング テーブルとは、切り替え式の条件テーブルに含まれる一連のルートであり、これは、単一の XQuery 式の結果に基づいて各種ルートを選択できる短縮形の構文です。

ステージ エディタでは、ネストは 4 累積レベルまでに制限されています。5 番目のレベルを追加しようとしても、そのネスト アクションは表示されません。累積レベルには、すべてのブランチ アクション (If...Then...条件、パブリッシュ テーブル、ルート テーブル) が含まれます。たとえば、2 レベルの条件と、ルート テーブルを含むパブリッシュ テーブルを使用して、合計 4 レベルにすることができます。ただし、別の条件を追加 (最後のパブリッシュ テーブルに対して) すると、その条件は表示されません。

メッセージのターゲット サービスを指定し、ターゲット サービスへのメッセージのルーティング方法をコンフィグレーションする。

これは終端アクションなので、このアクションの後に別のアクションを追加することはできません。ただし、このアクションには、要求と応答のアクションを含めることができます。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

ルート ノードにルーティング テーブルを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2.  [ルート ノード] アイコンをクリックして、[ルートの編集] をクリックします。 [ステージ コンフィグレーションの編集] ページが表示されます。
  3.  [アクションの追加] アイコンをクリックして、[通信|ルーティング テーブル] を選択します。ルーティング テーブル アクションが表示されます。
  4. [演算子] リストから、比較演算子を選択して、隣のフィールドに値式を入力します。
  5. [<サービス>] をクリックします。[サービスの選択] ページが表示されます。
  6. リストからサービスを選択してから、[送信] をクリックします。
  7. サービスで操作を呼び出す場合は、[操作] リストから操作を選択します。
  8. 発信処理を着信処理と同じにする場合、[着信操作の発信での使用] チェックボックスを選択します。
  9. [要求アクション] フィールドの [アクションの追加] をクリックしてアクションを追加したうえで、そのサービスに関連付けるアクションを選択します。複数のアクションを追加することも可能です。
  10. [応答アクション] フィールドの [アクションの追加] をクリックしてアクションを追加したうえで、そのサービスに関連付けるアクションを選択する。複数のアクションを追加することも可能です。
  11. 追加できる要求および応答アクションの種類の詳細については、「メッセージ フローでのアクションの追加と編集」を参照してください。

  12. 新しいケースを挿入するには、 [ケース] アイコンをクリックして、[新しいケースの挿入] を選択します。
  13. 新しいケースについて、手順 2 - 7 を繰り返す。 [ケース] アイコンをクリックして、[デフォルト ケースの挿入] を選択すると、それ以前のすべてのケースが満たされなかった場合に選択されるルートとしてデフォルトのケースを追加できます。
  14. [保存] をクリックします。
  15. メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、メッセージ フローの作成を続けます。
  16. [保存] をクリックして、現在のセッションで更新をコミットします。
  17. セッションを終了してコンフィグレーションをランタイムにデプロイするには、[Change Center] の [アクティブ化] をクリックします。

For Each アクションの追加

一連の値を反復処理してアクションのブロックを実行するには、For Each アクションを使用します。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

For Each アクションを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|フロー制御|For Each] を選択します。
  3. [変数] フィールドに変数名を入力し、[<XPath>] をクリックして、XPath 式を作成するための XPath エディタを開きます。次に、Do () ループでアクションをコンフィグレーションします。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

If... Then... アクションの追加

XQuery 式のブール結果に基づき、1 つまたは複数のアクションを条件付きで実行するには、If Then アクションを使用します。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

If... Then... アクションを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|フロー制御|If...Then] を選択します....
  3. [<条件>] をクリックして、[XQuery 条件エディタ] ページを表示します。
  4. 作成した条件は、then() 句に入る前に、標準の if...then ロジックに従って実行されるテストとして使用されます。「インライン XQuery および XPath 式の作成と編集」を参照してください。

  5. XQuery 条件を編集したら、[アクションの追加] をクリックしてから、その条件に関連付けるアクションを選択します。追加するアクションの種類の詳細については、「メッセージ フローでのアクションの追加と編集」を参照してください。
  6. ルート ノードでは、ルーティング アクション、動的ルーティング アクション、またはルーティング テーブル アクションのみを選択できます。ただし、これらのアクションには、要求と応答のアクションを入れることができる。

  7. 必要に応じて  [If...Then...] アイコンをクリックし、[else-if 条件の追加] または [else 条件の追加] をクリックして、else-if 条件または else 条件を追加します。[アクションの追加] をクリックして、アクションをこれらの条件と関連付けます。
  8. 条件アクションはネストできます。ただし、ステージ エディタでは、ネストは 4 累積レベルまでに制限されています。5 番目のレベルを追加しようとしても、そのネスト アクションは表示されません。累積レベルには、すべてのブランチ アクション (If...Then...条件、パブリッシュ テーブル、ルート テーブル) が含まれます。たとえば、2 レベルの条件と、ルート テーブルを含むパブリッシュ テーブルを使用して、合計 4 レベルにすることができます。ただし、別の条件付きのアクションを追加 (最後のパブリッシュ テーブルに対して) しようとしても、そのアクションは表示されません。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

エラーを発生させるアクションの追加

指定したエラー コード (文字列) と説明を使用して例外を発生させるには、エラーを発生させるアクションを使用します。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

エラーを発生させるアクションを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|フロー制御|エラーを発生させる] を選択します。
  3. [エラー コード] フィールドに、発生させるエラー コードを入力します。
  4. [エラー メッセージ] フィールドに、エラー コードの説明を入力します。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

トランザクション

サービスがトランザクションの場合、トリガされたエラー発生アクションにより、非同期の要求のトランザクションまたは同期の要求/応答のトランザクションが中断されます。たとえば、メッセージを参照し、SOAP エラーは発生せず、エラーを発生させるアクションによりトランザクションが中断された場合にも、エラーを発生させるアクションが実行する際の条件を決定できます。

返信アクションの追加

呼び出し元に即時に返信されるように指定するには、返信アクションを使用します。

返信アクションは、要求パイプライン、応答パイプライン、またはエラー パイプラインに使用できます。成功時または失敗時の返信をコンフィグレーションできます。HTTP 着信転送での失敗時の返信の場合、返信アクションでは、呼び出し元に即時に返信されるように指定します。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

返信アクションを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|フロー制御|返信する] を選択します。
  3. [成功時] を選択すると、メッセージが成功した場合に応答します。[失敗時] を選択すると、メッセージが失敗した場合に応答します。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

再開アクションの追加

エラー ハンドラによってエラーが処理された後で、メッセージ フローを再開するには、再開アクションを使用します。このアクションにパラメータはありません。このアクションはエラー パイプラインでのみ使用できます。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

再開アクションを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|フロー制御|再開する] を選択します。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

スキップ アクションの追加

実行時にこのステージの実行がスキップされて、処理がメッセージ フローの次のステージに進むように指定するには、スキップ アクションを使用します。このアクションにはパラメータがなく、要求パイプライン、応答パイプライン、エラー パイプラインで使用できます。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

スキップ アクションを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|フロー制御|スキップする] を選択します。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

割り当てアクションの追加

XQuery 式の結果をコンテキスト変数に割り当てるには、割り当てアクションを使用します。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

割り当てアクションを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|メッセージ処理|割り当て] を選択します。
  3. [] をクリックします。[XQuery 式エディタ] ページが表示されます。XQuery 式を使用して、名前付き変数に割り当てるデータを作成します。「インライン XQuery および XPath 式の作成と編集」を参照してください。
  4. 式を編集したら、[変数] フィールドにコンテキスト変数を入力します。メッセージ コンテキスト変数の詳細については、『Oracle Service Bus ユーザーズ ガイド』の「Inbound 変数と Outbound 変数」および「送信するメッセージの作成」を参照してください。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

削除アクションの追加

削除アクションは、コンテキスト変数または XPath 式で指定したすべてのノードを削除するときに使用します。削除アクションは一連の更新アクションの 1 つです。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

削除アクションを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. コンテキスト変数を削除するには、[変数] ラジオ ボタンを選択し、[変数] フィールドにコンテキスト変数の名前を入力します。コンテキスト変数の詳細については、「メッセージ コンテキスト」を参照してください。
  3. または、XPath 式で選択されたすべてのノードを削除するには、[XPath] ラジオ ボタンを選択して、[<XPath>] をクリックします。[XPath 式エディタ] ページが表示されます。「インライン XQuery および XPath 式の作成と編集」を参照してください。式を保存したら、[変数] フィールドにコンテキスト変数を入力します。コンテキスト変数の詳細については、「メッセージ コンテキスト」を参照してください。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

挿入アクションの追加

XPath 式で選択したノードを基準に、指定した位置に XQuery 式を挿入するには、挿入アクションを使用します。挿入アクションは更新アクションの 1 つです。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

挿入アクションを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|メッセージ処理|挿入する] を選択します。
  3. [<式>] をクリックして、XQuery 式を編集します。XQuery 式を使用して、名前付き変数で指定した場所に挿入されるデータを作成します。[XQuery 式エディタ] ページが表示されます。「インライン XQuery および XPath 式の作成と編集」を参照してください。
  4. 式を編集したら、ドロップダウン リストで相対的な位置を選択します。相対的な位置は、XPath 式の結果を基準として挿入位置を決める場合に使用します。
    • [の前に] - XPath 式で選択される各要素や属性の兄とします。
    • [の後ろに] - XPath 式で選択される各要素や属性の弟とします。
    • [の最初の子として] - XPath 式で指定される各要素の第 1 の子とします。XPath の結果が属性を返す場合はエラーが発生します。
    • [の最後の子として] - XPath 式で指定される各要素の最後の子とします。XPath が属性を返す場合はエラーが発生します。
  5. [XPath] をクリックします。[XPath 式エディタ] ページが表示されます。「インライン XQuery および XPath 式の作成と編集」を参照してください。
  6. 有効なコンフィグレーションには、以下のコンフィグレーションが含まれます。

    • XQuery 式と XPath 式の両方が要素を返します。
    • XQuery 式と XPath 式の両方が属性を返します。この場合、XQuery 式は属性を返す必要があります。
  7. XPath 式を編集したら、[変数] フィールドにコンテキスト変数を入力します。XPath はこの変数のコンテンツを評価します。コンテキスト変数の詳細については、「メッセージ コンテキスト」を参照してください。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

Java コールアウト アクションの追加

メッセージ フローから Java メソッド、または EJB ビジネス サービスを呼び出すには、Java コールアウト アクションを使用します。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

Java コールアウト アクションを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|メッセージ処理|Java コールアウト] を選択します。
  3. [<メソッド>] をクリックします。[JAR の選択] ページが表示されます。リストから JAR リソースを選択します。[クラスとメソッドの選択] ページが表示されます。
  4. 表示された Java クラスのリストで、必要なクラスの横にある + をクリックしてメソッドのリストを表示します。メソッドを選択して、[送信] をクリックします。[ステージの編集] ページに、次のように Java コールアウト アクションが表示されます。
    • [<メソッド>] は手順 2 および 3 で選択した Java メソッドの名前に置き換えられる。この名前は [クラスとメソッドの選択] ページへのリンクです。このリンクをクリックして、Java メソッドの選択内容を変更することができます。
    • メソッドは静的メソッドである必要があります。

    • [パラメータ] : Java メソッドが必要とする各引数に対する [XQuery 式エディタ] ページへの [<式>] リンクが用意されています。それぞれのリンクに対するラベルは、引数のデータ型を示します。これは以下のいずれかになります。
      • Java.lang.String
      • プリミティブ型および対応するクラス型 (intjava.lang.Integer など)
      • java.lang.BigDecimal および java.lang.BigInteger (これらの型は、ラウンドオフ エラーやオーバーフローが許容されない財務関連の計算で使用されます)
      • org.apache.xbeans.XmlObject のみ (型指定された XML Bean はなし)
      • byte[]
      • java.lang.String[] (入力のみ)
      • XmlObject [ ] (入力のみ)
    • [結果] : 結果を割り当てる変数を入力する [結果] フィールド。このフィールドに対するラベルは、結果のデータ型を示します。
    • 注意 : 結果がバイト配列 (唯一返される可能性のある配列) の場合は、バイナリ コンテンツの XML 要素が返されます。
    • サービス アカウントの付加 : [サービス アカウント] リンクでは、Java メソッドに対するセキュリティ コンテキストがある場合、オプションのサービス アカウントを指定できます。セキュリティ コンテキストおよびサービス アカウントの詳細については、「サービス アカウント」を参照してください。
    • 固定およびマップされたサービス アカウントの場合、そのサービス アカウントのユーザ ID/パスワードはローカル システムと Java コールアウトに伝播されたセキュリティ コンテキストで認証されます。パススルーの場合、セキュリティ コンテキストは Java コールアウトに伝播されます。(WS-Security で) 定義されている場合、このコンテキストは、メッセージ レベルのコンテキストになります。そうでない場合は、転送レベルのコンテキストになります。

  5. [パラメータ] で、[<式>] リンクをクリックします。[XQuery 式エディタ] ページが表示されます。XQuery 式エディタを使用して、Java メソッドに必要な引数を提供します。「インライン XQuery および XPath 式の作成と編集」を参照してください。
  6. 入力値の型が宣言されている入力引数の型と一致しない場合、Oracle Service Bus は入力値を入力引数の宣言された型に自動的に型キャストします。たとえば、入力引数の宣言された型が Java プリミティブ「int」の場合、文字列値 "123" は整数 123 に変換されます。

  7. [結果] フィールドで、Java メソッドが返した結果に対して、変数を割り当てます。
  8. Java メソッドに対するセキュリティ コンテキストがある場合は、チェックボックスを選択して、[サービス アカウント] をクリックします。[サービス アカウントの選択] ページが表示されます。リストから必要なサービス アカウントを選択して、[送信] をクリックします。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

MFL 変換アクションの追加

MFL (メッセージ フォーマット言語) 変換アクションを使用して、メッセージ パイプライン内でメッセージ コンテンツを XML と XML 以外の形式との間で変換します。MFL は、バイナリ データのレイアウトを記述するために使用する特別な XML ドキュメントです。Oracle 独自の言語を使用して、フォーマットされたバイナリ データを XML データに、または XML データをバイナリ データに変換するルールを定義します。「MFL」を参照してください。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

MFL 変換アクションを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|メッセージ処理|MFL 変換] を選択します。
  3. [MFL 変換を適用する] ドロップダウン リストから必要に応じて [XML から非 XML へ] または [非 XML から XML へ] を選択します。
  4. [] をクリックします。XQuery 式エディタを使用して、MFL 変換アクションを実行する変数を指定します。この入力は、XML への変換の場合はテキストまたはバイナリ、XML 以外への変換の場合は XML でなければなりません。メッセージ コンテキストのバイナリ コンテンツは、バイナリ コンテンツ XML 要素によって表されます。入力がバイナリでなければならない場合、この XML は Xquery 式の結果となります。「インライン XQuery および XPath 式の作成と編集」を参照してください。
  5. 以下のいずれかのオプションを選択します。
    • [MFL リソース]。[<リソース>] リンクをクリックします。[MFL の選択] ページが表示されます。MFL 変換アクションを実行する静的な MFL リソースを選択します。
    • [<式> からの MFL リソース]。[<式>] リンクをクリックします。[XQuery 式エディタ] ページが表示されます。XQuery 式エディタを使用して、変換アクションを実行する MFL リソースを動的に指定する XQuery 式を作成または編集します。形式は、project/folder/MFLresourcename です。「インライン XQuery および XPath 式の作成と編集」を参照してください。
  6. [変数に割り当てる] フィールドで、この変換アクションの結果を割り当てる変数名を入力します。結果は、バイナリコンテンツの XML 要素になります。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

名前変更アクションの追加

XPath 式で選択された要素のコンテンツを変更せずに要素名を変更するには、名前変更アクションを使用します。名前変更アクションは更新アクションの 1 つです。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

名前変更アクションを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|メッセージ処理|名前変更] を選択します。
  3. [<XPath>] をクリックします。[XPath 式エディタ] ページが表示されます。XPath 式を使用して、名前を変更するデータ (名前付き変数内の) を指定します。「インライン XQuery および XPath 式の作成と編集」を参照してください。
  4. [変数] フィールドに、名前変更する要素を保持するコンテキスト変数を入力します。コンテキスト変数の詳細については、「メッセージ コンテキスト」を参照してください。
  5. 以下のいずれか 1 つを実行します。
    • ローカル名を使用して選択した要素名を変更する場合は、最初の [ローカル名] ラジオ ボタンを選択して、[ローカル名] フィールドにローカル名を入力します。
    • ネームスペースを使用して選択した要素名を変更する場合は、最初の [ネームスペース] ラジオ ボタンを選択して、[ネームスペース] フィールドにネームスペースを入力します。
    • ローカル名とネームスペースを使用して選択した要素名を変更する場合は、[ローカル名] および [ネームスペース] ラジオ ボタンを選択して、[ローカル名] および [ネームスペース] フィールドにローカル名とネームスペースを入力します。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

置換アクションの追加

XPath 式で指定されたノードまたはノードのコンテンツを置き換えるには、置換アクションを使用します。ノードまたはそのコンテンツは、XQuery 式が返した値で置換されます。

置換アクションでは、単純な値、要素、属性を置き換えることができます。XQuery 式から何も返されない状態は、アクションがノード全体を置き換えるか、ノード コンテンツのみを置き換えるかにより、識別されたノードを削除すること、または空のノードを作成することと同じです。

置換アクションは更新アクションの 1 つです。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

置換アクションを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|メッセージ処理|置換する] を選択します。
  3. [<XPath>] をクリックします。[XPath 式エディタ] ページが表示されます。XPath 式を使用して、置換するデータ (名前付き変数内の) を指定します。「インライン XQuery および XPath 式の作成と編集」を参照してください。
  4. XPath 式を編集したら、[変数] フィールドにコンテキスト変数を入力します。「メッセージ コンテキスト」を参照してください。
  5. [] をクリックします。[XQuery 式エディタ] ページが表示されます。XQuery 式を使用して、名前付き変数内の XPath で指定したデータを置換するデータを作成します。「インライン XQuery および XPath 式の作成と編集」を参照してください。
  6. XQuery 式を編集したら、以下のいずれかのオプションを選択します。
    • [ノード全体を置換] - 定義した XPath 式で選択したノードとそのすべてのコンテンツを置換するように指定します。
    • [ノードのコンテンツを置換] - ノードは置換せず、そのコンテンツのみ置換するように指定します。
    • 注意 : [ノード全体を置換] オプションを選択して XPath を「./*」に設定するよりも、[ノードのコンテンツを置換] オプションを選択して [XPath] フィールドを空白にする方が効率的です。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

検証アクションの追加

XML スキーマ要素または WSDL リソースに対して、XPath 式で選択した要素を検証するには、検証アクションを使用します。検証できるのは、グローバル要素のみです。Oracle Service Bus はローカル要素に対する検証に対応していません。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

検証アクションを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|メッセージ処理|検証する] を選択します。
  3. [XPath] をクリックします。検証する要素を指定する XPath 式を作成します。「インライン XQuery および XPath 式の作成と編集」を参照してください。[XPath 式エディタ] で式を作成したら、[保存] をクリックして、[ステージ コンフィグレーションの編集] ページで式を挿入します。
  4. [変数] フィールドに、検証する要素を保持する変数の名前を入力します。
  5. [リソース] をクリックしてから、[WSDL] または [スキーマ] を選択します。
  6. [WSDL ブラウザ] または [XML スキーマ ブラウザ] から、以下を実行します。
    1. WSDL または XML スキーマを選択します。
    2. WSDL または XML スキーマのタイプまたは要素を選択します。
    3. [送信] をクリックします。
  7. この検証の結果 (ブール結果) を保存する場合は、[検証結果を変数に保存する] を選択し、結果を保存する変数の名前を入力します。
  8. また、WSDL 要素や XML スキーマ要素に対する検証が失敗したときにエラーを発生させる場合は、[検証の失敗時にエラーを発生させる] を選択します。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

アラート アクションの追加

アラート送り先にアラートを送信するには、アラート アクションを使用して、パイプラインのメッセージ コンテキストに基づいてアラートを生成します。SLA アラートと異なり、アラート アクションで生成された通知は、主にビジネスでの使用、またはエラーの報告を目的とし、システムの状態を監視するものではありません。このことを考慮して、アラートの送り先をコンフィグレーションおよび選択する必要があります。アラートの送り先の詳細については、「アラート送り先」を参照してください。

サービスに対してパイプライン アラートが有効になっていない場合や、ドメイン レベルでパイプライン アラートが有効になっていない場合は、メッセージの処理中に、コンフィグレーションしたアラート アクションがバイパスされます。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

アラート アクションを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|レポート|アラート] を選択します。
  3. [<送り先>] をクリックします。[アラート送り先の選択] ページが表示されます。リストから必要なアラートの送り先を選択して、[送信] をクリックします。
  4. デフォルトでは、アラートは常にコンソールに出力されます。

  5. [] をクリックします。[XQuery 式エディタ] ページが表示されます。コンテキスト変数の XQuery 式を通じてアラート メッセージに追加するメッセージ コンテキストを指定します。「インライン XQuery および XPath 式の作成と編集」を参照してください。
  6. [アラート概要] フィールドにアラートの簡単な説明文を入力します。説明文は、電子メール通知の場合の件名になります。文字数を 80 文字以内に制限する必要があります。説明文が存在しない場合、「Oracle Service Bus Alert」というあらかじめ定義された件名が代わりに使用されます。
  7. [重大度] ドロップダウン リストでは、アラートの重大度を [通常]、[警告]、[軽度]、[重要]、[重大]、および [致命的] から選択します。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

ヒント : 例外によりメッセージの処理が中断することを防ぐために、パイプライン アラートを生成する場合は、処理をグローバル エラー ハンドラに委ねるのではなく、このような例外をローカルに処理して格納するようにアラート アクションのエラー ハンドラを定義することをお勧めします。

ログ アクションの追加

ログに記録するメッセージを作成し、ログに使用する一連の属性を定義するには、ログ アクションを使用します。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

ログ アクションを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|レポート|ログ] を選択します。
  3. [<式>] をクリックします。[XQuery 式エディタ] ページが表示されます。コンテキスト変数の XQuery 式を通じてログに記録するメッセージ コンテキストを指定します。「インライン XQuery および XPath 式の作成と編集」を参照してください。
  4. [アノテーション] フィールドに、このログ アクションのメモを入力します。これらのメモは、事前に定義された式の結果と一緒にログに記録されます。
  5. [重大度] ドロップダウン リストで、以下のいずれかのオプションを選択します。
  6. 表 19-5 ログ アクションの重大度 
    重大度
    一般的な用途
    情報
    通常の操作をレポートするために使用する、低レベルの情報メッセージ。
    警告
    疑わしい操作やコンフィグレーションが実行されたが、通常の操作に影響を及ぼさない。
    エラー
    ユーザ エラーが発生した。システムまたはアプリケーションでは、割り込みやサービスの停止をせずにエラーに対処できる。
    デバッグ
    アプリケーションの開発中に、アプリケーション内の下位レベルのアクティビティに関する詳細な説明を提供するメッセージの作成および使用が有効である可能性がある。

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。

レポート アクションの追加

プロキシ サービスのメッセージ レポートを有効にするには、レポート アクションを使用します。

始める前に

以下の手順は、「メッセージ フローの作成、編集、および表示」の説明に従って、[メッセージ フローの編集] ページで、すでにメッセージ フローを編集していることを前提としています。

レポート アクションを追加するには

  1. メッセージ フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。
  2. 該当するアイコンをクリックして、[アクションの追加|レポート|レポート] を選択します。
  3. [] をクリックします。[XQuery 式エディタ] ページが表示されます。「インライン XQuery および XPath 式の作成と編集」を参照してください。XQuery 式を使用して、Oracle Service Bus ダッシュボードに報告するデータを作成します。
  4. XQuery 式を編集したら、[キーの追加] をクリックします。[キー名] フィールドと [キー値] フィールド (XPath 式編集用の画面に移動するための [XPath] リンクを持つ)、および [変数] フィールド (コンテキスト変数の入力用) が表示されます。
  5. キー値のペアは、メッセージ コンテキスト変数やメッセージ ペイロードからキー識別子を抽出して、残りのメッセージを無視する場合に使用します。キーは、メッセージを識別する便利な手段となります。キーは、[レポート] モジュールでレポート インデックスとして表示されます。「レポート メッセージの表示」および「メッセージの詳細の表示」を参照してください。

    1. [キー名] フィールドに、キーの名前を入力します。
    2. [<XPath>] をクリックします。[XPath 式の編集] ページが表示されます。「インライン XQuery および XPath 式の作成と編集」を参照してください。
    3. [変数] フィールドにコンテキスト変数を入力します。コンテキスト変数の詳細については、「メッセージ コンテキスト」を参照してください。
    4. さらにキー値を追加するには、 [キー] アイコンをクリックして [キーの追加] を選択します。キーを削除するには、 [キー] アイコンをクリックして [このキーを削除] を選択します。

たとえば、ステージのエラー ハンドラでコンフィグレーションされたレポート アクションを考えてみます。このアクションは、エラーが発生した場合に fault コンテキスト変数のコンテンツを報告します。レポート アクションは次のようにコンフィグレーションされます。

実行時にこのこのアクションが行われるたびに、データ ストリームを通じてメッセージが報告されます。以下の表は、レポート アクションが 2 回実行された後の結果を示しています。

レポート インデックス
DB タイムスタンプ
着信サービス
エラー コード
errorCode=BEA-382505
04/26/07 9:45 AM
MortgageBroker/ProxySvcs/loanGateway3
BEA-382505
errorCode=BEA-382505
04/26/07 9:45 AM
 
BEA-382505

完了した後に

このアクションのコンフィグレーションが完了したら、「メッセージ フローでのアクションの追加と編集」の説明に従って、その他のアクションをコンフィグレーションするか、または、コンフィグレーションを保存して、続行します。


ページの先頭 前 次