クラス AbstractWsSecurityInterceptor

java.lang.ObjectSE
org.springframework.ws.soap.security.AbstractWsSecurityInterceptor
実装済みのインターフェース一覧:
org.springframework.core.Ordered, ClientInterceptor, EndpointInterceptor, SoapEndpointInterceptor
既知の直属サブクラス
Wss4jSecurityInterceptor

public abstract class AbstractWsSecurityInterceptor extends ObjectSE implements SoapEndpointInterceptor, ClientInterceptor, org.springframework.core.Ordered
WS-Security を処理するインターセプターのインターセプター基本クラス。endpoint mapping に登録されているサーバー側で使用できます。またはクライアント側、web service template

この基本クラスのサブクラスは、受信メッセージと送信メッセージを保護するように構成できます。デフォルトでは、両方がオンになっています。

導入:
1.0.0
  • フィールドの詳細

    • DEFAULT_ORDER

      public static final int DEFAULT_ORDER
      Default order for WS-Security interceptors, ensuring they run early. Any interceptor with a higher precedence than -200 will therefore run before security is applied.
      導入:
      3.1.9
      関連事項:
    • logger

      protected final org.apache.commons.logging.Log logger
      サブクラスで利用可能なロガー。
    • WS_SECURITY_NAME

      protected static final QNameSE 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

      public void setExceptionResolver(EndpointExceptionResolver exceptionResolver)
      検証例外を解決するための EndpointExceptionResolver を提供します。
    • setSkipValidationIfNoHeaderPresent

      public void setSkipValidationIfNoHeaderPresent(boolean skipValidationIfNoHeaderPresent)
      セキュリティヘッダーが存在しない場合に検証をスキップできます。
    • getOrder

      public int getOrder()
      次で指定:
      インターフェース org.springframework.core.Ordered 内の getOrder 
    • 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

      public boolean handleFault(MessageContext messageContext, ObjectSE endpoint) throws ExceptionSE
      true を返します。つまり、障害レスポンスは保護されていません。
      次で指定:
      インターフェース EndpointInterceptor 内の handleFault 
      パラメーター:
      messageContext - リクエストメッセージとレスポンスメッセージの両方が含まれている場合、レスポンスには障害が含まれている必要があります
      endpoint - 呼び出すエンドポイントを選択
      戻り値:
      true は、レスポンスインターセプターチェーンの処理を続行します。false は、レスポンスハンドラーチェーンのブロックを示します。
      例外:
      ExceptionSE
    • afterCompletion

      public void afterCompletion(MessageContext messageContext, ObjectSE endpoint, @Nullable ExceptionSE ex)
      インターフェースからコピーされた説明: EndpointInterceptor
      リクエストとレスポンス(障害)の処理が完了した後のコールバック。エンドポイント呼び出しの結果で呼び出されるため、適切なリソースのクリーンアップが可能になります。

      メモ: このインターセプターの EndpointInterceptor.handleRequest(MessageContext, Object) メソッドが正常に完了した場合にのみ呼び出されます。

      EndpointInterceptor.handleResponse(MessageContext, Object) メソッドと同様に、このメソッドはチェーンの各インターセプターで逆の順序で呼び出されるため、最初のインターセプターが最後に呼び出されます。

      次で指定:
      インターフェース EndpointInterceptor 内の afterCompletion 
      パラメーター:
      messageContext - リクエストメッセージとレスポンスメッセージの両方が含まれている場合、レスポンスには障害が含まれている必要があります
      endpoint - 呼び出すエンドポイントを選択
      ex - ハンドラーの実行時にスローされる例外(ある場合)
    • understands

      public boolean understands(SoapHeaderElement headerElement)
      インターフェースからコピーされた説明: SoapEndpointInterceptor
      SoapHeaderElement が与えられた場合、この SoapEndpointInterceptor がそれを理解するかどうかを返します。
      次で指定:
      インターフェース SoapEndpointInterceptor 内の understands 
      パラメーター:
      headerElement - ヘッダー
      戻り値:
      理解されている場合は true、そうでない場合は false 
    • handleRequest

      public final boolean handleRequest(MessageContext messageContext) throws WebServiceClientException
      クライアント側の送信リクエストを保護します。secureRequest プロパティが true の場合、secureMessage(org.springframework.ws.soap.SoapMessage,org.springframework.ws.context.MessageContext) に委譲します。
      次で指定:
      インターフェース ClientInterceptor 内の handleRequest 
      パラメーター:
      messageContext - 保護するリクエストを含むメッセージコンテキスト
      戻り値:
      レスポンスが確保された場合は true。それ以外の場合は false
      例外:
      WebServiceClientException - エラーの場合
      関連事項:
    • handleResponse

      public final boolean handleResponse(MessageContext messageContext) throws WebServiceClientException
      クライアント側の受信レスポンスを検証します。validateResponse プロパティが true の場合、validateMessage(org.springframework.ws.soap.SoapMessage,org.springframework.ws.context.MessageContext) に委譲します。
      次で指定:
      インターフェース ClientInterceptor 内の handleResponse 
      パラメーター:
      messageContext - 検証されるレスポンスを含むメッセージコンテキスト
      戻り値:
      リクエストが有効な場合は true。それ以外の場合は false
      例外:
      WebServiceClientException - エラーの場合
      関連事項:
    • handleFault

      public boolean handleFault(MessageContext messageContext) throws WebServiceClientException
      true を返します。つまり、障害レスポンスは検証されません。
      次で指定:
      インターフェース ClientInterceptor 内の handleFault 
      パラメーター:
      messageContext - 発信リクエストメッセージが含まれています
      戻り値:
      true は、リクエストインターセプターの処理を続行します。リクエストエンドポイントチェーンのブロックを示す false 
      例外:
      WebServiceClientException - エラーの場合
      関連事項:
    • afterCompletion

      public void afterCompletion(MessageContext messageContext, @Nullable ExceptionSE ex) throws WebServiceClientException
      インターフェースからコピーされた説明: ClientInterceptor
      リクエストとレスポンス (障害) 処理完了後のコールバック。どの結果でも呼び出されるため、適切なリソースのクリーンアップが可能になります。

      メモ: このインターセプターの ClientInterceptor.handleRequest(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

      protected boolean handleFaultException(WsSecurityFaultException ex, MessageContext messageContext)
      障害例外を処理します。デフォルトの実装は、指定された例外をログに記録し、指定された例外のプロパティを使用して 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()