クラス AbstractWsSecurityInterceptor
java.lang.ObjectSE
org.springframework.ws.soap.security.AbstractWsSecurityInterceptor
- 実装されたすべてのインターフェース:
ClientInterceptor
、EndpointInterceptor
、SoapEndpointInterceptor
- 既知の直属サブクラス
Wss4jSecurityInterceptor
public abstract class AbstractWsSecurityInterceptor
extends ObjectSE
implements SoapEndpointInterceptor, ClientInterceptor
WS-Security を処理するインターセプターのインターセプター基本クラス。
endpoint mapping
に登録されているサーバー側で使用できます。またはクライアント側、web service template
。この基本クラスのサブクラスは、受信メッセージと送信メッセージを保護するように構成できます。デフォルトでは、両方がオンになっています。
- 導入:
- 1.0.0
- 作成者:
- Arjen Poutsma
フィールドのサマリー
フィールド修飾子と型フィールド説明protected final org.apache.commons.logging.Log
サブクラスで利用可能なロガー。protected static final QNameSE
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void
afterCompletion
(MessageContext messageContext, ExceptionSE ex) リクエストとレスポンス (障害) 処理完了後のコールバック。void
afterCompletion
(MessageContext messageContext, ObjectSE endpoint, ExceptionSE ex) リクエストとレスポンス (障害) 処理完了後のコールバック。protected abstract void
cleanUp()
boolean
handleFault
(MessageContext messageContext) true
を返します。boolean
handleFault
(MessageContext messageContext, ObjectSE endpoint) true
を返します。protected boolean
handleFaultException
(WsSecurityFaultException ex, MessageContext messageContext) 障害例外を処理します。デフォルトの実装は、指定された例外をログに記録し、指定された例外のプロパティを使用して SOAP 障害を作成し、false
を返します。final boolean
handleRequest
(MessageContext messageContext) クライアント側の送信リクエストを保護します。final boolean
handleRequest
(MessageContext messageContext, ObjectSE endpoint) サーバー側の受信リクエストを検証します。final boolean
handleResponse
(MessageContext messageContext) クライアント側の受信レスポンスを検証します。final boolean
handleResponse
(MessageContext messageContext, ObjectSE endpoint) サーバー側の発信レスポンスを保護します。protected boolean
handleSecurementException
(WsSecuritySecurementException ex, MessageContext messageContext) 保護の例外を処理します。protected boolean
handleValidationException
(WsSecurityValidationException ex, MessageContext messageContext) 無効な SOAP メッセージを処理します。protected abstract void
secureMessage
(SoapMessage soapMessage, MessageContext messageContext) 抽象テンプレートメソッド。void
setExceptionResolver
(EndpointExceptionResolver exceptionResolver) 検証例外を解決するためのEndpointExceptionResolver
を提供します。void
setSecureRequest
(boolean secureRequest) クライアント側の送信リクエストを保護するかどうかを示します。void
setSecureResponse
(boolean secureResponse) サーバー側の発信レスポンスを保護するかどうかを示します。void
setSkipValidationIfNoHeaderPresent
(boolean skipValidationIfNoHeaderPresent) セキュリティヘッダーが存在しない場合に検証をスキップできます。void
setValidateRequest
(boolean validateRequest) サーバー側の受信リクエストを検証するかどうかを示します。void
setValidateResponse
(boolean validateResponse) クライアント側の受信レスポンスを検証するかどうかを示します。boolean
understands
(SoapHeaderElement headerElement) SoapHeaderElement
が与えられた場合、このSoapEndpointInterceptor
がそれを理解するかどうかを返します。protected abstract void
validateMessage
(SoapMessage soapMessage, MessageContext messageContext) 抽象テンプレートメソッド。
フィールドの詳細
logger
protected final org.apache.commons.logging.Log loggerサブクラスで利用可能なロガー。WS_SECURITY_NAME
コンストラクターの詳細
AbstractWsSecurityInterceptor
public AbstractWsSecurityInterceptor()
メソッドの詳細
setValidateRequest
public void setValidateRequest(boolean validateRequest) サーバー側の受信リクエストを検証するかどうかを示します。デフォルトはtrue
です。setSecureResponse
public void setSecureResponse(boolean secureResponse) サーバー側の発信レスポンスを保護するかどうかを示します。デフォルトはtrue
です。setSecureRequest
public void setSecureRequest(boolean secureRequest) クライアント側の送信リクエストを保護するかどうかを示します。デフォルトはtrue
です。setValidateResponse
public void setValidateResponse(boolean validateResponse) クライアント側の受信レスポンスを検証するかどうかを示します。デフォルトはtrue
です。setExceptionResolver
検証例外を解決するためのEndpointExceptionResolver
を提供します。setSkipValidationIfNoHeaderPresent
public void setSkipValidationIfNoHeaderPresent(boolean skipValidationIfNoHeaderPresent) セキュリティヘッダーが存在しない場合に検証をスキップできます。handleRequest
public final boolean handleRequest(MessageContext messageContext, ObjectSE endpoint) throws ExceptionSE サーバー側の受信リクエストを検証します。validateRequest
プロパティがtrue
の場合、validateMessage(org.springframework.ws.soap.SoapMessage,org.springframework.ws.context.MessageContext)
に委譲します。- 次で指定:
- インターフェース
EndpointInterceptor
のhandleRequest
- パラメーター:
messageContext
- 検証するリクエストを含むメッセージコンテキストendpoint
- 呼び出すエンドポイントを選択- 戻り値:
- リクエストが有効な場合は
true
。それ以外の場合はfalse
。 - 例外:
ExceptionSE
- エラーの場合- 関連事項:
handleResponse
public final boolean handleResponse(MessageContext messageContext, ObjectSE endpoint) throws ExceptionSE サーバー側の発信レスポンスを保護します。secureResponse
プロパティがtrue
の場合、secureMessage(org.springframework.ws.soap.SoapMessage,org.springframework.ws.context.MessageContext)
に委譲します。- 次で指定:
- インターフェース
EndpointInterceptor
のhandleResponse
- パラメーター:
messageContext
- 保護するレスポンスを含むメッセージコンテキストendpoint
- 呼び出すエンドポイントを選択- 戻り値:
- レスポンスが確保された場合は
true
。それ以外の場合はfalse
。 - 例外:
ExceptionSE
- エラーの場合- 関連事項:
handleFault
true
を返します。つまり、障害レスポンスは保護されていません。- 次で指定:
- インターフェース
EndpointInterceptor
のhandleFault
- パラメーター:
messageContext
- リクエストメッセージとレスポンスメッセージの両方が含まれている場合、レスポンスには障害が含まれている必要がありますendpoint
- 呼び出すエンドポイントを選択- 戻り値:
true
は、レスポンスインターセプターチェーンの処理を続行します。false
は、レスポンスハンドラーチェーンのブロックを示します。- 例外:
ExceptionSE
afterCompletion
インターフェースからコピーされた説明:EndpointInterceptor
リクエストとレスポンス(障害)の処理が完了した後のコールバック。エンドポイント呼び出しの結果で呼び出されるため、適切なリソースのクリーンアップが可能になります。メモ: このインターセプターの
EndpointInterceptor.handleRequest(org.springframework.ws.context.MessageContext, java.lang.Object)
メソッドが正常に完了した場合にのみ呼び出されます。EndpointInterceptor.handleResponse(org.springframework.ws.context.MessageContext, java.lang.Object)
メソッドと同様に、このメソッドはチェーンの各インターセプターで逆の順序で呼び出されるため、最初のインターセプターが最後に呼び出されます。- 次で指定:
- インターフェース
EndpointInterceptor
のafterCompletion
- パラメーター:
messageContext
- リクエストメッセージとレスポンスメッセージの両方が含まれている場合、レスポンスには障害が含まれている必要がありますendpoint
- 呼び出すエンドポイントを選択ex
- ハンドラーの実行時にスローされる例外(ある場合)
understands
インターフェースからコピーされた説明:SoapEndpointInterceptor
SoapHeaderElement
が与えられた場合、このSoapEndpointInterceptor
がそれを理解するかどうかを返します。- 次で指定:
- インターフェース
SoapEndpointInterceptor
のunderstands
- パラメーター:
headerElement
- ヘッダー- 戻り値:
- 理解されている場合は
true
、そうでない場合はfalse
handleRequest
クライアント側の送信リクエストを保護します。secureRequest
プロパティがtrue
の場合、secureMessage(org.springframework.ws.soap.SoapMessage,org.springframework.ws.context.MessageContext)
に委譲します。- 次で指定:
- インターフェース
ClientInterceptor
のhandleRequest
- パラメーター:
messageContext
- 保護するリクエストを含むメッセージコンテキスト- 戻り値:
- レスポンスが確保された場合は
true
。それ以外の場合はfalse
。 - 例外:
ExceptionSE
- エラーの場合WebServiceClientException
- エラーの場合- 関連事項:
handleResponse
クライアント側の受信レスポンスを検証します。validateResponse
プロパティがtrue
の場合、validateMessage(org.springframework.ws.soap.SoapMessage,org.springframework.ws.context.MessageContext)
に委譲します。- 次で指定:
- インターフェース
ClientInterceptor
のhandleResponse
- パラメーター:
messageContext
- 検証されるレスポンスを含むメッセージコンテキスト- 戻り値:
- リクエストが有効な場合は
true
。それ以外の場合はfalse
。 - 例外:
ExceptionSE
- エラーの場合WebServiceClientException
- エラーの場合- 関連事項:
handleFault
true
を返します。つまり、障害レスポンスは検証されません。- 次で指定:
- インターフェース
ClientInterceptor
のhandleFault
- パラメーター:
messageContext
- 発信リクエストメッセージが含まれています- 戻り値:
true
は、リクエストインターセプターの処理を続行します。リクエストエンドポイントチェーンのブロックを示すfalse
- 例外:
WebServiceClientException
- エラーの場合- 関連事項:
afterCompletion
public void afterCompletion(MessageContext messageContext, ExceptionSE ex) throws WebServiceClientException インターフェースからコピーされた説明:ClientInterceptor
リクエストとレスポンス (障害) 処理完了後のコールバック。どの結果でも呼び出されるため、適切なリソースのクリーンアップが可能になります。メモ: このインターセプターの
ClientInterceptor.handleRequest(org.springframework.ws.context.MessageContext)
メソッドが正常に完了した場合にのみ呼び出されます。- 次で指定:
- インターフェース
ClientInterceptor
のafterCompletion
- パラメーター:
messageContext
- リクエストメッセージとレスポンスメッセージの両方が含まれている場合、レスポンスには障害が含まれている必要がありますex
- ハンドラーの実行時にスローされる例外(ある場合)- 例外:
WebServiceClientException
- エラーの場合
handleSecurementException
protected boolean handleSecurementException(WsSecuritySecurementException ex, MessageContext messageContext) 保護の例外を処理します。デフォルトの実装では、指定された例外がログに記録され、false
が返されます。- パラメーター:
ex
- 検証例外messageContext
- メッセージコンテキスト- 戻り値:
- メッセージの処理を続行するには
true
、それ以外の場合はfalse
(デフォルト)
handleValidationException
protected boolean handleValidationException(WsSecurityValidationException ex, MessageContext messageContext) 無効な SOAP メッセージを処理します。デフォルトの実装では、指定された例外をログに記録するか、セットexceptionResolver
に委譲するか、例外メッセージを障害文字列として使用して SOAP 1.1 クライアントまたは SOAP1.2 送信者障害を作成し、false
を返します。- パラメーター:
ex
- 検証例外messageContext
- メッセージコンテキスト- 戻り値:
- メッセージの処理を続行するには
true
、それ以外の場合はfalse
(デフォルト)
handleFaultException
障害例外を処理します。デフォルトの実装は、指定された例外をログに記録し、指定された例外のプロパティを使用して SOAP 障害を作成し、false
を返します。- パラメーター:
ex
- 検証例外messageContext
- メッセージコンテキスト- 戻り値:
- メッセージの処理を続行するには
true
、それ以外の場合はfalse
(デフォルト)
validateMessage
protected abstract void validateMessage(SoapMessage soapMessage, MessageContext messageContext) throws WsSecurityValidationException 抽象テンプレートメソッド。指定されたSoapMessage
に含まれるリクエストを検証し、元のリクエストを検証済みのバージョンに置き換えるには、サブクラスが必要です。- パラメーター:
soapMessage
- 検証する SOAP メッセージ- 例外:
WsSecurityValidationException
- 検証エラーの場合
secureMessage
protected abstract void secureMessage(SoapMessage soapMessage, MessageContext messageContext) throws WsSecuritySecurementException 抽象テンプレートメソッド。指定されたSoapMessage
に含まれるレスポンスを保護し、元のレスポンスを保護されたバージョンに置き換えるには、サブクラスが必要です。- パラメーター:
soapMessage
- 保護する SOAP メッセージ- 例外:
WsSecuritySecurementException
- 保護エラーの場合
cleanUp
protected abstract void cleanUp()