WebSphere Enterprise Service Bus バージョン 6.2.0 オペレーティング・システム: AIX、HP-UX、i5/OS、Linux、Solaris、Windows


Message Element Setter メディエーション・プリミティブ

Message Element Setter メディエーション・プリミティブを使用して、メッセージの内容を設定できます。

概要

Message Element Setter メディエーション・プリミティブは、メッセージ内容を設定するための簡単な手段を提供します。メッセージ・エレメントは、メディエーション・プリミティブ・プロパティーを設定することによって、追加、変更、または削除することができます。Message Element Setter プリミティブは、メッセージ・タイプの変更は行いません。

メッセージに複数の変更を加えることができます。変更は順次行われるため、エレメントは互いをベースとして構築できます。

Message Element Setter メディエーション・プリミティブには、入力端末 (in)、出力端末 (out)、障害端末 (fail) がそれぞれ 1 台ずつ存在します。 in 端末はメッセージの受信用に接続され、その他の端末はメッセージの送信用に接続されています。メディエーションが成功すると、変更されたメッセージが out 端末によって伝搬されます。変換中に例外が発生すると、fail 端末が、failInfo エレメントに含まれる例外情報と共に元のメッセージを伝搬します。

詳細

ターゲット・エレメントには、定数値か、入力サービス・メッセージ・オブジェクト (SMO) 内からコピーした値を設定できます。指定したターゲット・エレメントが存在しない場合は、SMO 内に作成されます。また、メッセージ・エレメントがオプション・エレメントまたは繰り返しエレメントの場合は、削除することもできます。

ターゲットのエレメントは、ターゲット・プロパティーを使用して XPath 式として指定されます。 ターゲット・エレメントを定数値に設定した場合は、ターゲット XPath は SMO ノード内の単一のリーフに解決される必要があります。ターゲット・エレメントをソース・エレメントから設定する場合は、ソースとターゲットの両方の XPaths が単一のエレメント (単一のリーフまたはサブツリー) に解決される必要があります。

使用法

定義した操作が順次に実行されるため、後の操作は前の操作に依存してもかまいません。例えば、新規エレメントを SMO にコピーする Copy 操作と、新規エレメントに値を設定するようなその後の操作を定義することができます。

Message Element Setter メディエーション・プリミティブを他のメディエーション・プリミティブに結合すると、さまざまな場合に役立ちます。 例えば、Database Lookup メディエーション・プリミティブが起動された前か後にデータを操作する必要がある場合は、Message Element Setter メディエーション・プリミティブを使用できます。

また、Message Element Setter メディエーション・プリミティブで、メッセージをフィルター処理した後に、Message Filter メディエーション・プリミティブを使用してメッセージを変更することもできます。 また、フィルター処理の後に、特定のメッセージ・エレメントを更新または削除できます。

プロパティー

メッセージ・エレメント

追加、変更、または削除するメッセージ・エレメント。

WebSphere® Integration Developer で、「追加」をクリックしてメッセージ・エレメントの更新を指定します。 更新の定義を完了すると、更新が「メッセージ・エレメント」テーブルに表示されます。メッセージ・エレメントをテーブルの中で上下に移動させることによって、メッセージ・エレメントの更新が行われる順序を変更できます。

アクション
メッセージの変更方法。指定できるアクションは、SetCopyAppend、または Delete です。選択したアクションに応じて、WebSphere Integration Developer パネルで異なるプロパティーに入力します。デフォルトのアクションは Set です。SetCopy、および Append アクションでは、必要な場合は新規エレメント (またはエレメントのツリー) が作成されます。
  • Set を使用すると、ターゲット・エレメントを定数値 (「値」プロパティーで指定されたもの) に設定できます。
  • Copy を使用すると、ソース・エレメントからターゲット・エレメントにコピーできます。
    注: ソース・データ・タイプはターゲット・データ・タイプと対応したものにする必要があります。対応しない場合は、実行時例外が発生します。
  • Append を使用すると、出力内の繰り返しエレメントに追加することによって、ソース・エレメントから新規エレメント・インスタンスにコピーできます。 出力内の繰り返しエレメントにのみ追加することができます。
    注: ソース・データ・タイプはターゲット・データ・タイプと対応したものにする必要があります。対応しない場合は、実行時例外が発生します。
  • Delete を使用すると、SMO からエレメント・インスタンスを削除できます。
    注: 削除を試みるのは、オプション・エレメントまたは繰り返しエレメントのみとしてください。
ターゲット
追加、変更、または削除するエレメントを識別する XPath 1.0 式。例えば、/body/GetAddress/Name と指定します。

ターゲット・エレメントを定数値に設定する場合は、ターゲット XPath 式を単一のリーフ・エレメントに解決する必要があります。ソース・エレメントからターゲット・エレメントへコピーする場合は、ソースとターゲットの両方が単一のメッセージ・エレメント (単一のリーフまたはサブツリー) に解決される XPath 式を指定する必要があります。

複数のターゲットを設定すると、更新は順次に行われます。 そのため、値が 13 であったエレメント X の値を 14 に設定し、エレメント Y をエレメント X の値に設定すると、メディエーションはエレメント X を値 14 に、エレメント Y を値 14 に設定します。

同じターゲット・エレメントを複数回指定した場合は、ターゲット・エレメントに対して実行された最新の操作が優先されます。

タイプ
エレメント値のタイプ。

「ターゲット」に定数値を設定する場合は、「タイプ」に単純な XML スキーマ・タイプまたは単純な XML スキーマ・タイプを拡張した XML スキーマ・タイプを指定する必要があります。

「アクション」プロパティーが Set の場合は、「値」プロパティーを使用して、定数値を指定します。
注: 「値」および「タイプ」プロパティーは、互換性を持っていなければなりません。例えば、「タイプ」が XML スキーマ・タイプ int の場合は、「値」14 を設定することができますが、GoldAccount に設定することはできません。
ソース
「アクション」プロパティーを Copy または Append に設定した場合、「ソース (Source)」プロパティーはソース・エレメントを識別する XPath 1.0 式である必要があります。
入力の妥当性検査
true の場合は、メディエーションの実行前に入力メッセージの妥当性が検査されます。
表 1. Message Element Setter メディエーション・プリミティブのプロパティー
プロパティー 有効な値 デフォルト
メッセージ・エレメント アクション SetCopyAppend、または Delete Set
ターゲット XPath 式  
データ・タイプ  
「型」プロパティーと互換性のある値
注: Set のみで使用されます。
 
ソース XPath 式
注: Copy または Append のみで使用されます。
 
入力の妥当性検査 ブール値: true または false false

考慮事項

Message Element Setter メディエーション・プリミティブを使用する場合は、以下を考慮する必要があります。


reference 参照トピック

ご利用条件 | フィードバック


タイム・スタンプ・アイコン 最終更新: 2010/07/09


http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic//com.ibm.websphere.wesb620.doc/ref/rwesb_MessageElementSettermediationprimitive.html
Copyright IBM Corporation 2005, 2010. All Rights Reserved.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています (http://www.eclipse.org)。