クラス 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コンストラクター概要
コンストラクター方法の概要
修飾子と型メソッド説明voidafterCompletion(MessageContext messageContext, ExceptionSE ex) リクエストとレスポンス (障害) 処理完了後のコールバック。voidafterCompletion(MessageContext messageContext, ObjectSE endpoint, ExceptionSE ex) リクエストとレスポンス (障害) 処理完了後のコールバック。protected abstract voidcleanUp()booleanhandleFault(MessageContext messageContext) trueを返します。booleanhandleFault(MessageContext messageContext, ObjectSE endpoint) trueを返します。protected booleanhandleFaultException(WsSecurityFaultException ex, MessageContext messageContext) 障害例外を処理します。デフォルトの実装は、指定された例外をログに記録し、指定された例外のプロパティを使用して SOAP 障害を作成し、falseを返します。final booleanhandleRequest(MessageContext messageContext) クライアント側の送信リクエストを保護します。final booleanhandleRequest(MessageContext messageContext, ObjectSE endpoint) サーバー側の受信リクエストを検証します。final booleanhandleResponse(MessageContext messageContext) クライアント側の受信レスポンスを検証します。final booleanhandleResponse(MessageContext messageContext, ObjectSE endpoint) サーバー側の発信レスポンスを保護します。protected booleanhandleSecurementException(WsSecuritySecurementException ex, MessageContext messageContext) 保護の例外を処理します。protected booleanhandleValidationException(WsSecurityValidationException ex, MessageContext messageContext) 無効な SOAP メッセージを処理します。protected abstract voidsecureMessage(SoapMessage soapMessage, MessageContext messageContext) 抽象テンプレートメソッド。voidsetExceptionResolver(EndpointExceptionResolver exceptionResolver) 検証例外を解決するためのEndpointExceptionResolverを提供します。voidsetSecureRequest(boolean secureRequest) クライアント側の送信リクエストを保護するかどうかを示します。voidsetSecureResponse(boolean secureResponse) サーバー側の発信レスポンスを保護するかどうかを示します。voidsetSkipValidationIfNoHeaderPresent(boolean skipValidationIfNoHeaderPresent) セキュリティヘッダーが存在しない場合に検証をスキップできます。voidsetValidateRequest(boolean validateRequest) サーバー側の受信リクエストを検証するかどうかを示します。voidsetValidateResponse(boolean validateResponse) クライアント側の受信レスポンスを検証するかどうかを示します。booleanunderstands(SoapHeaderElement headerElement) SoapHeaderElementが与えられた場合、このSoapEndpointInterceptorがそれを理解するかどうかを返します。protected abstract voidvalidateMessage(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
インターフェースからコピーされた説明:SoapEndpointInterceptorSoapHeaderElementが与えられた場合、この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()