Cosminexus アプリケーションサーバ V8 Webサービス開発の手引

[目次][用語][索引][前へ][次へ]

16.2 WS-Policyによる設定

WS-RM 1.2機能には,WS-RM Policyでの設定のほかに,WS-PolicyとしてWSDLに記述する独自の設定があります。ここではWSDLに追加するプロパティについて説明します。

WS-RM Policyの追加方法については,「24.4 WS-RM Policyの追加方法」を参照してください。

表16-2 WSDLに追加するプロパティ

項番 プロパティ 説明 単位 範囲 デフォルト値
1 <net35rmp:InactivityTimeout Milliseconds = "設定値"/> シーケンスの有効期限を設定します。

設定した期間,通信されない場合
シーケンスの有効期限が切れ,シーケンスは自動的に終了します。

有効期限が切れたあとにメッセージを送信した場合
WebServiceExceptionの子クラスであるSequenceTerminatedException例外またはUnknownSequenceException例外が発生します。

有効期限が切れたあとにメッセージを受信した場合
SequenceTerminatedフォルトまたはUnknownSequenceフォルトを返信します。

通信を続ける場合
再度ポートのオブジェクトを取得し,シーケンスを生成し直す必要があります。

範囲外の値を指定した場合
警告メッセージを出力し,デフォルト値で動作します(KDJR16017-W)。
ミリ秒 1〜9,223,372,036,854,775,807 600,000
2 <cwsrm:MaxMessageNumber value="設定値"/> 一つのシーケンスで扱える最大のメッセージ数を設定します。

設定したメッセージ数を超えてメッセージを送信した場合
WebServiceExceptionの子クラスであるMessageNumberRolloverException例外が発生します。

設定したメッセージ数を超えてメッセージを受信した場合
MessageNumberRolloverフォルトを返信します。

通信を続ける場合
既存のシーケンスを終了するため,ポートのオブジェクトをcom.sun.xml.ws.Closeableにキャストし,closeメソッドを呼び出します。その後,再度ポートのオブジェクトを取得し,シーケンスを生成し直す必要があります。

範囲外の値を指定した場合
警告メッセージを出力し,デフォルト値で動作します(KDJR16017-W)。
1〜100,000 10,000

(凡例)
−:なし

シーケンスの有効期限を300,000ミリ秒(5分)に,シーケンスの最大メッセージ数を1,000に設定するWS-RM Policyの例を次に示します。

  <wsp:Policy wsu:Id="WSRM_policy">
    <wsp:ExactlyOne>
      <wsp:All>
        <wsrmp:RMAssertion>
          <wsp:Policy>
            <wsrmp:DeliveryAssurance>
              <wsp:Policy>
                <wsrmp:ExactlyOnce/>
              </wsp:Policy>
            </wsrmp:DeliveryAssurance>
          </wsp:Policy>
        </wsrmp:RMAssertion>
        <wsaw:UsingAddressing/>
        <net35rmp:InactivityTimeout Milliseconds="300000"/>
        <cwsrm:MaxMessageNumber value="1000"/>
      </wsp:All>
    </wsp:ExactlyOne>
  </wsp:Policy>