クラス MessageDispatcher

java.lang.ObjectSE
org.springframework.ws.server.MessageDispatcher
実装されたすべてのインターフェース:
org.springframework.beans.factory.Awareorg.springframework.beans.factory.BeanNameAwareorg.springframework.context.ApplicationContextAwareWebServiceMessageReceiver
既知の直属サブクラス
SoapMessageDispatcher

public class MessageDispatcher extends ObjectSE implements WebServiceMessageReceiver, org.springframework.beans.factory.BeanNameAware, org.springframework.context.ApplicationContextAware
Spring-WS 内で使用する主要ディスパッチャー。登録されたエンドポイントに Web サービスメッセージをディスパッチします。

このディスパッチャーは、Spring MVC の DispatcherServlet と非常によく似ています。対応するディスパッチャーと同様に、このディスパッチャーは非常に柔軟性があります。このクラスは SOAP に依存しません。一般的な SOAP Web サービスでは、SoapMessageDispatcher サブクラスが使用されます。

導入:
1.0.0
作成者:
Arjen Poutsma
関連事項:
  • フィールドの詳細

    • logger

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

      public static final StringSE ENDPOINT_NOT_FOUND_LOG_CATEGORY
      リクエストにマップされたエンドポイントが見つからない場合に使用するログカテゴリ。
      関連事項:
    • endpointNotFoundLogger

      protected static final org.apache.commons.logging.Log endpointNotFoundLogger
      リクエストに対してマップされたエンドポイントが見つからない場合に使用する追加のロガー。
    • MESSAGE_TRACING_LOG_CATEGORY

      public static final StringSE MESSAGE_TRACING_LOG_CATEGORY
      メッセージトレースに使用するログカテゴリ。
      関連事項:
    • sentMessageTracingLogger

      protected static final org.apache.commons.logging.Log sentMessageTracingLogger
      送信メッセージのトレースに使用する追加のロガー。
    • receivedMessageTracingLogger

      protected static final org.apache.commons.logging.Log receivedMessageTracingLogger
      受信メッセージのトレースに使用する追加のロガー。
  • コンストラクターの詳細

    • MessageDispatcher

      public MessageDispatcher()
      MessageDispatcher の新しいインスタンスを初期化します。
  • メソッドの詳細

    • getEndpointAdapters

      public ListSE<EndpointAdapter> getEndpointAdapters()
      この MessageDispatcher で使用する EndpointAdapter を返します。
    • setEndpointAdapters

      public void setEndpointAdapters(ListSE<EndpointAdapter> endpointAdapters)
      この MessageDispatcher で使用する EndpointAdapter を設定します。
    • getEndpointExceptionResolvers

      public ListSE<EndpointExceptionResolver> getEndpointExceptionResolvers()
      この MessageDispatcher で使用する EndpointExceptionResolver を返します。
    • setEndpointExceptionResolvers

      public void setEndpointExceptionResolvers(ListSE<EndpointExceptionResolver> endpointExceptionResolvers)
      この MessageDispatcher で使用する EndpointExceptionResolver を設定します。
    • getEndpointMappings

      public ListSE<EndpointMapping> getEndpointMappings()
      この MessageDispatcher で使用する EndpointMapping を返します。
    • setEndpointMappings

      public void setEndpointMappings(ListSE<EndpointMapping> endpointMappings)
      この MessageDispatcher で使用する EndpointMapping を設定します。
    • setBeanName

      public final void setBeanName(StringSE beanName)
      次で指定:
      インターフェース org.springframework.beans.factory.BeanNameAwaresetBeanName 
    • setApplicationContext

      public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException
      次で指定:
      インターフェース org.springframework.context.ApplicationContextAwaresetApplicationContext 
      例外:
      org.springframework.beans.BeansException
    • receive

      public void receive(MessageContext messageContext) throws ExceptionSE
      インターフェースからコピーされた説明: WebServiceMessageReceiver
      指定されたメッセージコンテキストを受信します。指定されたメッセージコンテキストを使用して、レスポンスを作成できます。
      次で指定:
      インターフェース WebServiceMessageReceiverreceive 
      パラメーター:
      messageContext - 受信するメッセージコンテキスト
      例外:
      ExceptionSE
    • dispatch

      protected final void dispatch(MessageContext messageContext) throws ExceptionSE
      構成に従って、指定された MessageContext でリクエストをディスパッチします。
      パラメーター:
      messageContext - メッセージコンテキスト
      例外:
      NoEndpointFoundException - 受信メッセージのエンドポイントを解決できない場合にスローされます
      ExceptionSE
    • getEndpoint

      protected EndpointInvocationChain getEndpoint(MessageContext messageContext) throws ExceptionSE
      このリクエストのエンドポイントを返します。すべてのエンドポイントマッピングが順番に試行されます。
      戻り値:
      EndpointInvocationChain、またはエンドポイントが見つからなかった場合は null
      例外:
      ExceptionSE
    • getEndpointAdapter

      protected EndpointAdapter getEndpointAdapter(ObjectSE endpoint)
      指定されたエンドポイントの EndpointAdapter を返します。
      パラメーター:
      endpoint - アダプターを見つけるためのエンドポイント
      戻り値:
      アダプター
    • handleRequest

      protected boolean handleRequest(EndpointInvocationChain mappedEndpoint, MessageContext messageContext)
      指定された呼び出しチェーンおよびメッセージコンテキストの前処理のコールバック。インターセプターで handleRequest が呼び出される前に呼び出されます。

      デフォルトの実装は何もせず、true を返します。

      パラメーター:
      mappedEndpoint - マップされた EndpointInvocationChain
      messageContext - メッセージコンテキスト
      戻り値:
      処理を続行する必要がある場合は true。それ以外の場合は false 
    • processEndpointException

      protected void processEndpointException(MessageContext messageContext, ObjectSE endpoint, ExceptionSE ex) throws ExceptionSE
      登録された EndpointExceptionResolvers を介してエラー SOAPMessage レスポンスを判別します。ほとんどの場合、レスポンスには SOAPFault が含まれています。適切なリゾルバーが見つからなかった場合、例外が再スローされます。
      パラメーター:
      messageContext - 現在の SOAPMessage リクエスト
      endpoint - 実行されたエンドポイント、または例外時に何も選択されなかった場合は null
      ex - ハンドラーの実行中にスローされた例外
      例外:
      ExceptionSE - 適切なリゾルバーが見つからない場合