インターフェース EndpointInterceptor
- 既知のすべてのサブインターフェース:
SmartEndpointInterceptor、SmartSoapEndpointInterceptor、SoapEndpointInterceptor
- すべての既知の実装クラス:
AbstractFaultCreatingValidatingInterceptor、AbstractLoggingInterceptor、AbstractValidatingInterceptor、AbstractWsSecurityInterceptor、DelegatingSmartEndpointInterceptor、DelegatingSmartSoapEndpointInterceptor、EndpointInterceptorAdapter、PayloadLoggingInterceptor、PayloadRootSmartSoapEndpointInterceptor、PayloadTransformingInterceptor、PayloadValidatingInterceptor、SoapActionSmartEndpointInterceptor、SoapEnvelopeLoggingInterceptor、Wss4jSecurityInterceptor
適切な EndpointAdapter がエンドポイント自体の呼び出しをトリガーする前に、EndpointInterceptor が呼び出されます。このメカニズムは、前処理の側面の広いフィールドに使用できます。認可チェック、またはメッセージヘッダーチェック用。その主な目的は、反復的なエンドポイントコードを除外できるようにすることです。
通常、インターセプターチェーンは EndpointMapping Bean ごとに定義され、その粒度を共有します。特定のインターセプターチェーンをハンドラーのグループに適用できるようにするには、1 つの EndpointMapping Bean を介して目的のハンドラーをマップする必要があります。インターセプター自体は、アプリケーションコンテキストで Bean として定義され、interceptors プロパティ(XML では <ref> の <list>)を介してマッピング Bean 定義によって参照されます。
方法の概要
修飾子と型メソッド説明voidafterCompletion(MessageContext messageContext, ObjectSE endpoint, ExceptionSE ex) リクエストとレスポンス (障害) 処理完了後のコールバック。booleanhandleFault(MessageContext messageContext, ObjectSE endpoint) 発信レスポンス障害を処理します。booleanhandleRequest(MessageContext messageContext, ObjectSE endpoint) 受信リクエストメッセージを処理します。booleanhandleResponse(MessageContext messageContext, ObjectSE endpoint) 発信レスポンスメッセージを処理します。
方法の詳細
handleRequest
受信リクエストメッセージを処理します。EndpointMappingが適切なエンドポイントオブジェクトを決定した後、EndpointAdapterがエンドポイントを呼び出す前に呼び出されます。MessageDispatcherは、任意の数のインターセプターで構成される呼び出しチェーンのエンドポイントを処理し、エンドポイント自体を最後に配置します。この方法では、各インターセプターはチェーンを中止することを決定でき、通常はカスタムレスポンスを作成します。- パラメーター:
messageContext- 受信リクエストメッセージが含まれていますendpoint- 呼び出すエンドポイントを選択- 戻り値:
trueは、リクエストインターセプターチェーンの処理を続行します。falseは、エンドポイントを呼び出さずに、リクエストエンドポイントチェーンのブロックを示します。- 例外:
ExceptionSE- エラーの場合- 関連事項:
handleResponse
発信レスポンスメッセージを処理します。EndpointAdapterが実際にエンドポイントを呼び出した後に呼び出されます。新しいヘッダーなどを追加することにより、レスポンスがある場合はそれを操作できます。MessageDispatcherは、任意の数のインターセプターで構成される呼び出しチェーンのエンドポイントを処理し、エンドポイント自体を最後に配置します。このメソッドを使用すると、各インターセプターは呼び出しを後処理し、チェーンの実行とは逆の順序で適用できます。メモ: このインターセプターの
handleRequest(org.springframework.ws.context.MessageContext, java.lang.Object)メソッドが正常に完了した場合にのみ呼び出されます。- パラメーター:
messageContext- リクエストメッセージとレスポンスメッセージの両方が含まれていますendpoint- 呼び出すエンドポイントを選択- 戻り値:
trueは、レスポンスインターセプターチェーンの処理を続行します。レスポンスエンドポイントチェーンのブロッキングを示すfalse。- 例外:
ExceptionSE- エラーの場合- 関連事項:
handleFault
発信レスポンス障害を処理します。EndpointAdapterが実際にエンドポイントを呼び出した後に呼び出されます。新しいヘッダーなどを追加することにより、レスポンスがある場合はそれを操作できます。MessageDispatcherは、任意の数のインターセプターで構成される呼び出しチェーンのエンドポイントを処理し、エンドポイント自体を最後に配置します。このメソッドを使用すると、各インターセプターは呼び出しを後処理し、チェーンの実行とは逆の順序で適用できます。メモ: このインターセプターの
handleRequest(org.springframework.ws.context.MessageContext, java.lang.Object)メソッドが正常に完了した場合にのみ呼び出されます。- パラメーター:
messageContext- リクエストメッセージとレスポンスメッセージの両方が含まれている場合、レスポンスには障害が含まれている必要がありますendpoint- 呼び出すエンドポイントを選択- 戻り値:
trueは、レスポンスインターセプターチェーンの処理を続行します。falseは、レスポンスハンドラーチェーンのブロックを示します。- 例外:
ExceptionSE
afterCompletion
void afterCompletion(MessageContext messageContext, ObjectSE endpoint, ExceptionSE ex) throws ExceptionSE リクエストとレスポンス(障害)の処理が完了した後のコールバック。エンドポイント呼び出しの結果で呼び出されるため、適切なリソースのクリーンアップが可能になります。メモ: このインターセプターの
handleRequest(org.springframework.ws.context.MessageContext, java.lang.Object)メソッドが正常に完了した場合にのみ呼び出されます。handleResponse(org.springframework.ws.context.MessageContext, java.lang.Object)メソッドと同様に、このメソッドはチェーンの各インターセプターで逆の順序で呼び出されるため、最初のインターセプターが最後に呼び出されます。- パラメーター:
messageContext- リクエストメッセージとレスポンスメッセージの両方が含まれている場合、レスポンスには障害が含まれている必要がありますendpoint- 呼び出すエンドポイントを選択ex- ハンドラーの実行時にスローされる例外(ある場合)- 例外:
ExceptionSE- エラーの場合- 導入:
- 2.0.2