ナビゲーションをスキップ

WebLogic Web サービス プログラマーズ ガイド

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

Web サービスの信頼性のあるメッセージングのポリシー アサーションに関するリファレンス

以下の節では、WS-Policy ファイルの Web サービスの信頼性のあるメッセージング ポリシー アサーションに関するリファレンス情報を示します。

 


Web サービスの信頼性のあるメッセージングのアサーションを含む WS-Policy ファイルの概要

WS-Policy ファイルを使用すると、送り先エンドポイントで実行されている WebLogic Web サービスの信頼性のあるメッセージング機能をコンフィグレーションできます。WebLogic Web サービスに関連付けられている WS-Policy ファイルの名前を指定するには、その Web サービスを実装している JWS ファイルで @Policy JWS アノテーションを使用します。

WS-Policy ファイルは、WS-Policy 仕様に準拠する XML ファイルです。WS-Policy ファイルのルート要素は、常に <wsp:Policy> です。Web サービスの信頼性のあるメッセージングをコンフィグレーションするには、まず <wsrm:RMAssertion> 子要素を追加する必要があります。これは主に、信頼性のあるメッセージングのすべてのポリシー アサーションをグループ化するための操作です。次に、目的の Web サービスの信頼性のあるメッセージングの種類を子要素として <wsrm:RMAssertion> に追加します。これらのアサーションはすべて WS-PolicyAssertions 仕様に準拠しています。

WebLogic Server には、標準的な信頼性のあるメッセージング アサーションを含む 2 つの WS-Policy ファイル (DefaultReliability.xmlLongRunningReliability.xml) があります。独自の WS-Policy ファイルを作成しない場合は、このファイルのいずれかを使用できます。この 2 つのファイルの詳細については、「Web サービスの信頼性のあるメッセージングをコンフィグレーションするための WS-Policy ファイルの使用」を参照してください。

信頼性のある WebLogic Web サービスの作成の詳細については、「Web サービスの信頼性のあるメッセージングの使用」を参照してください。

 


グラフィカルな表現

以下の図では、WS-Policy ファイルの Web サービスの信頼性のあるメッセージング ポリシー アサーションの要素の階層を示します。

図 12-1 Web サービスの信頼性のあるメッセージング ポリシー アサーションの要素階層


 

Web サービスの信頼性のあるメッセージング ポリシー アサーションの要素階層


 

 


Web サービスの信頼性のあるメッセージングのアサーションを含む WS-Policy ファイルの例

次の例では、WebLogic Web サービスの信頼性のあるメッセージングのコンフィグレーションに使用する簡単な WS-Policy ファイルを示します。

<?xml version="1.0"?>
<wsp:Policy wsp:Name="ReliableHelloWorldPolicy"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm">
 <wsrm:RMAssertion>
   <wsrm:InactivityTimeout
Milliseconds="600000" />
<wsrm:AcknowledgementInterval
Milliseconds="2000" />
<wsrm:BaseRetransmissionInterval
Milliseconds="500" />
<wsrm:ExponentialBackoff />
 </wsrm:RMAssertion>
</wsp:Policy>

 


要素の説明

beapolicy:Expires

信頼性のある Web サービスの有効期限が切れ、これ以上のシーケンスを受け付けなくなるまでの時間を指定します。信頼性のある Web サービスのこのインスタンスを呼び出しているクライアント アプリケーションが、有効期限後にオペレーションを呼び出そうとすると、エラーが表示されます。

WS-Policy ファイルで指定されていない場合、デフォルトでは、Web サービスを無期限で利用できます。

表 C-1 <beapolicy:Expires> の属性

属性

解説

必須/省略可能

Expires

信頼性のある Web サービスが期限切れになるまでの時間。この属性のフォーマットは XML スキーマ期間型に準拠している。たとえば、信頼性のある Web サービスが 3 時間後に期限切れになるように設定するには、Expires="P3H" と指定する。

必須

beapolicy:QOS

Web サービスに対して、以下のいずれかの配信保証レベル (Quality Of Service : 配信品質) を指定します。

WS-Policy ファイルで指定されていない場合、この要素のデフォルト値は ExactlyOnce InOrder です。

表 C-2 <beapolicy:QOS> の属性

属性

解説

必須/省略可能

QOS

配信保証レベルを指定する。以下のいずれかの値を指定できる。

  • AtMostOnce

  • AtLeastOnce

  • ExactlyOnce

また、メッセージを順序通りに配信するように指定するために、InOrder 文字列を追加することもできる。

XXXOnce のいずれかの値を指定したものの、InOrder を指定しなかった場合、メッセージの配信順序は保証されない。これは、QOS 要素全体が指定されていない場合のデフォルト値 (ExactlyOnce で順序通り) とは異なる。

例 : <beapolicy:QOS QOS="AtMostOnce InOrder" />

必須

wsrm:AcknowledgementInterval

送り先エンドポイントがスタンドアロンの確認応答を送信しなければならない最大間隔 (ミリ秒単位) を指定します。

送り先エンドポイントは、ソース エンドポイントからメッセージを受信した直後に、返されたメッセージに対する確認応答を送信できます。また、スタンドアロンの確認応答で個別に確認応答を送信することもできます。返されたメッセージに対して確認応答を送信できない場合、送り先エンドポイントは、スタンドアロンの確認応答を送信するまで、確認応答の間隔に設定した時間範囲内で待機することがあります。確認されたメッセージがない場合、送り先エンドポイントは確認応答を送信しない可能性があります。

このアサーションは、メッセージまたは確認応答の形式を送信時の状態から変更しません。これは、ソース エンドポイントが適切に調整できるように確認応答のタイミングを通信するためです。

この要素は省略可能です。この要素を指定しなかった場合、デフォルト値は、送り先エンドポイント用にコンフィグレーションされたストア アンド フォワード (SAF) エージェントによって設定されます。

表 C-3 <wsrm:AcknowledgementInterval> の属性

属性

解説

必須/省略可能

Milliseconds

送り先エンドポイントがスタンドアロンの確認応答を送信しなければならない最大間隔 (ミリ秒単位) を指定する。

必須

wsrm:BaseRetransmissionInterval

ソース エンドポイントがメッセージを送信してから再送信を行うまでの間隔 (ミリ秒単位) を指定します。

ソース エンドポイントが、この要素で指定した間隔内で所定のメッセージの確認応答を受信しなかった場合、ソース エンドポイントはメッセージを再送信します。ソース エンドポイントは、メッセージのシーケンスの有効期間内の任意の時点で、この再送信間隔を変更することがあります。このアサーションは、メッセージまたは確認応答の形式を送信時の状態から変更せず、その送信のタイミングのみを指定します。

この要素を <wsrm:ExponentialBackoff> 要素と組み合わせて使用すると、<wsrm:ExponentialBackoff> で指定したアルゴリズムを使用して再送信間隔を調整するように指定できます。

この要素は省略可能です。この要素を指定しなかった場合、デフォルト値は、ソース エンドポイント用にコンフィグレーションされたストア アンド フォワード (SAF) エージェントによって設定されます。Administration Console を使用して SAF エージェントをコンフィグレーションする場合、この値には「Retry Delay Base」というラベルが付けられます。

表 C-4 <wsrm:BaseRetransmissionInterval> の属性

属性

解説

必須/省略可能

Milliseconds

ソース エンドポイントがメッセージを再送信するまでの時間 (ミリ秒)。

必須

wsrm:ExponentialBackoff

再送信の間隔が、指数関数的なバックオフ アルゴリズムを使用して調整されることを指定します。

この要素は、<wsrm:BaseRetransmissionInterval> と一緒に使用します。送り先エンドポイントが、<wsrm:BaseRetransmissionInterval> で指定した時間内でメッセージのシーケンスを確認応答しなかった場合、メッセージが引き続き確認されなければ、連続再送信のタイミングに対して、ソース エンドポイントは指数関数的なバックオフ アルゴリズムを使用します。

指数関数的なバックオフ アルゴリズムは、連続再送信の間隔が、基本の再送信間隔を基に指数的に増えるように指定します。たとえば、基本の再送信間隔が 2 秒で、指数関数的なバックオフ要素が WS-Policy ファイルで設定されている場合、連続再送信の間隔は、メッセージが確認されなければ、2、4、8、16、32 秒というように増えていきます。

この要素は省略可能です。設定しなかった場合、連続再送信の間隔は指数的に増えず、同じ値が維持されます。

この要素には属性はありません。

wsrm:InactivityTimeout

メッセージのシーケンスが非アクティブになっている期間 (ミリ秒) を指定します。メッセージのシーケンスは、ユニークなシーケンス番号で識別されるメッセージのセットとして定義され、これに対して特定の配信保証が適用されます。通常、シーケンスは単一のソース エンドポイントから生じます。この要素で指定した期間中に、送り先エンドポイントがソース エンドポイントからのメッセージを受け取っていない場合、送り先エンドポイントは、処理が行われずシーケンスは終了したものと見なす可能性があります。これは、ソース エンドポイントについても同様です。

この要素は省略可能です。WS-Policy ファイルで設定しなかった場合、シーケンスは、非アクティブな状態によってタイムアウトすることはありません。

表 C-5 <wsrm:InactivityTimeout> の属性

属性

解説

必須/省略可能

Milliseconds

非アクティブの期間を定義する値 (ミリ秒)。

必須

wsrm:RMAssertion

メイン Web サービスの信頼性のあるメッセージング アサーションで、単一の要素にある他のすべてのアサーションをグループ化します。

WS-Policy ファイルでこのアサーションを指定すると、対応する Web サービスが、信頼性を確保した状態で呼び出されます。

表 C-6 <wsrm:RMAssertion> の属性

属性

解説

必須/省略可能

optional

信頼性を確保した状態で Web サービス オペレーションを呼び出す必要があるかどうかを指定する。

この属性の有効な値は、true および false。デフォルト値は false

省略可能

 

フッタのナビゲーションのスキップ  ページの先頭 前 次