ヘッダーをスキップ
Oracle Fusion Middlewareリリース・ノート
11gリリース1(11.1.1) for Microsoft Windows(32-Bit)
B55923-02
  ドキュメント・ライブラリへ
ライブラリ
製品リストへ
製品
目次
目次

戻る
戻る
 
次へ
次へ
 

23 Oracle Mediator

この章では、Oracle Mediatorに関連する問題について説明します。内容は次のとおりです。

23.1 一般的な問題および回避方法

この項では、一般的な問題および回避方法について説明します。内容は次のとおりです。

23.1.1 多言語サポートはデータベース・キャラクタ・セットに依存する

Oracle Mediatorで一部の関数に多言語サポート機能を使用する場合、予想外の結果になることを防ぐには、これらの文字がデータベース・キャラクタ・セットでサポートされていることを確認します。たとえば、ユニット・テスト関数の場合、ユニット・テストの初期メッセージ・ペイロードにデータベース・キャラクタ・セットでサポートされていない文字が含まれる場合、Oracle Enterprise Manager Fusion Middleware Controlコンソールのユニット・テストの部分に文字が正しく表示されません。この問題は、Unicode文字をサポートするデータベースでは起こりません。

23.1.2 添付付きSOAP Webサービスはサポートされていない

Oracle Mediatorで、添付付きSOAP Webサービスをコールした場合、割当てまたは変換関数を使用してペイロード操作を行うことができません。添付付きSOAPはOracle Mediatorでサポートされていないため、割当てまたは変換関数を使用すると、例外で失敗します。

回避方法

添付付きSOAP Webサービスをコールする場合、Oracle MediatorではなくOracle Service Busを使用します。

23.1.3 Oracle Mediator - BPEL Process Managerコールバック処理

Oracle Mediatorでコールバック処理とタイムアウトを使用してBPELプロセスをコールする場合、ベスト・プラクティスは、Oracle Mediatorから返されるコールバック例外をBPELプロセスで明示的に処理することです。これは、コールバック処理に関連付けられているグローバル・トランザクションがコミットされ、ロールバックされないようにするためです。このようにすると、Oracle Mediatorでコールバック処理に失敗した場合でも、Oracle Mediatorで構成されたタイムアウト・ハンドラは開始されません。

23.1.4 メディエータ・コンポーネントが原因でSOA Suiteサーバーがメモリー不足に陥ることがある

メディエータ・アプリケーションは、状況によりメモリー不足に陥ることがあります。たとえば、メディエータに対する着信メッセージの速度がコールバック・メッセージの速度を超えると、メディエータ・キャッシュでメモリーの蓄積が発生します。

この問題を修正するには、Oracle Enterprise Manager Fusion Middleware Controlコンソールでメディエータ構成プロパティのParameters属性に次のプロパティを追加して、キャッシュ・サイズを変更します。

mediator.runtime_cache.limit=<value>

たとえば、mediator.runtime_cache.limitプロパティの値を100に設定すると、キャッシュのサイズは100に制限されます。キャッシュ・サイズは、キャッシュに格納できるオブジェクトの数を示します。このプロパティを0(ゼロ)に設定すると、キャッシュを完全に無効化できます。

23.1.5 設計時に機能しないメディエータ拡張関数

mhdr:getCompositeName()mhdr:getHeaderなどのメディエータ拡張関数は、実行するにはランタイム・コンテキストが必要です。つまり、これらの関数を設計時にマッパー・テスト機能を使用して実行すると、ターゲットXMLファイルは生成されず、次のエラーがスローされます。

XML-22044: (Error) Extension function error: Error invoking 'getComponentName':'
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0'

これらの関数は、ランタイム環境では正常に動作します。

23.1.6 endpointURIプロパティが割当てダイアログに表示されない

アウトバウンド・プロパティの$out.property.endpointURIが、ルーティング・ルールの指定時にメディエータ割当てタスクの「値の割当て」ダイアログに使用可能なプロパティとしてリストされません。

このプロパティに値を割り当てる場合、割当てダイアログの「宛先」セクションの「プロパティ」フィールドに、endpointURIとしてプロパティを直接入力できます。

23.1.7 再シーケンサのリカバリ可能なインスタンスが間違って追跡される

Enterprise Managerで、メディエータ再シーケンサに表示されるリカバリ可能なインスタンスの数は、実際にリカバリ可能なインスタンスの数ではなく、当該インスタンスに実行された再試行の数に相当します。この情報は、追跡目的専用であり、送信された重複メッセージとは無関係です。

23.1.8 複数のユーザーが同じドキュメントを編集するとエラーが発生する

複数のユーザーがSOAコンポーザで同じドキュメントを開いて編集する場合、そのうちの1人のユーザーが自分の変更を保存しようとすると、次のような予期しないエラーが発生します。

Unable to create document in the metadata repository; a document with the same name or GUID already exists.

23.1.9 スキーマから生成したWSDLを更新できない

スキーマからメディエータのWSDLファイルを生成すると、「WSDLの作成」ウィンドウでリプライ・メッセージを更新できません。

リプライ・メッセージを編集する必要がある場合、「WSDLの作成」ウィンドウでファイルを作成した後に、直接WSDLファイルを更新できます。

23.2 構成の問題および回避方法

この項では、構成の問題および回避方法について説明します。内容は次のとおりです。

23.2.1 ルーティング・ルールが存在しないとNullポインタ例外が発生する

有効なメディエータ構成であるためには、各メディエータ・コンポーネントにルーティング・ルールが含まれる必要があります。コンポーネントにルーティング・ルールが含まれない場合、メディエータは実行時に何の処理も行わず、mediator.dispatch.CaseExecutionPlan.getEffectiveExecutableCasesでnullポインタ例外が発生します。

23.3 ドキュメントの訂正箇所

Oracle Mediatorに関するドキュメントの訂正箇所はありません。