クラス MessageDispatcherServlet

java.lang.ObjectSE
jakarta.servlet.GenericServlet
jakarta.servlet.http.HttpServlet
org.springframework.web.servlet.HttpServletBean
org.springframework.web.servlet.FrameworkServlet
org.springframework.ws.transport.http.MessageDispatcherServlet
実装されているすべてのインターフェース:
jakarta.servlet.Servletjakarta.servlet.ServletConfigSerializableSEorg.springframework.beans.factory.Awareorg.springframework.context.ApplicationContextAwareorg.springframework.context.EnvironmentAwareorg.springframework.core.env.EnvironmentCapable

public class MessageDispatcherServlet extends org.springframework.web.servlet.FrameworkServlet
Web サービスメッセージのディスパッチを簡素化するためのサーブレット。

このサーブレットは、個別の WebServiceMessageReceiverHandlerAdapterMessageDispatcherWsdlDefinitionHandlerAdapter インスタンスを備えた標準の Spring-MVC DispatcherServlet の便利な代替手段です。

このサーブレットは、EndpointAdaptersEndpointMappingsEndpointExceptionResolvers を型別に自動的に検出します。

このサーブレットは、アプリケーションコンテキストで定義された WsdlDefinition も自動的に検出します。この WSDL は Bean 名で公開されます。たとえば、"echo" という名前の WsdlDefinition Bean は、このサーブレットのコンテキスト http://localhost:8080/spring-ws/echo.wsdl では echo.wsdl として公開されます。web.xml のこのサーブレットの構成で transformWsdlLocations init-param が true に設定されている場合、WSDL 定義のすべての location 属性は受信リクエストの URL を反映します。

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

  • コンストラクターの詳細

    • MessageDispatcherServlet

      public MessageDispatcherServlet()
      一部の Web アプリケーションサーバーに必要な public コンストラクター。
    • MessageDispatcherServlet

      public MessageDispatcherServlet(org.springframework.web.context.WebApplicationContext webApplicationContext)
      指定された Web アプリケーションコンテキストでサーブレットのプログラム構成をサポートするコンストラクター。このコンストラクターは、ServletContext#addServlet API を介してサーブレットのインスタンスベースの登録が可能な Servlet 3.0+ 環境で役立ちます。

      このコンストラクターを使用すると、次のプロパティ / init-params が無視されます:

      • FrameworkServlet.setContextClass(Class) /'contextClass'
      • FrameworkServlet.setContextConfigLocation(String) /'contextConfigLocation'
      • FrameworkServlet.setContextAttribute(String) /'contextAttribute'
      • FrameworkServlet.setNamespace(String) /' 名前空間 '

      指定された Web アプリケーションのコンテキストは、リフレッシュされる場合とされない場合があります。まだリフレッシュされていない場合(推奨されるアプローチ)、次のことが発生します。

      • 指定されたコンテキストにまだ親がない場合は、ルートアプリケーションコンテキストが親として設定されます。
      • 指定されたコンテキストにまだ ID が割り当てられていない場合は、ID が割り当てられます。
      • ServletContext および ServletConfig オブジェクトは、アプリケーションコンテキストに委譲されます。
      • FrameworkServlet.postProcessWebApplicationContext(org.springframework.web.context.ConfigurableWebApplicationContext) が呼び出されます
      • "contextInitializerClasses" 初期化パラメーターまたは FrameworkServlet.setContextInitializers(org.springframework.context.ApplicationContextInitializer<?>...) プロパティを通じて指定されたすべての ApplicationContextInitializer が適用されます。
      • コンテキストが ConfigurableWebApplicationContext を実装している場合、refresh() が呼び出されます
      コンテキストがすでにリフレッシュされている場合、ユーザーが特定のニーズに応じてこれらのアクションを実行した(または実行していない)という前提で、上記のいずれも発生しません。

      使用例については、WebApplicationInitializer を参照してください。

      パラメーター:
      webApplicationContext - 使用するコンテキスト
      関連事項:
      • FrameworkServlet(WebApplicationContext)
      • WebApplicationInitializer
      • FrameworkServlet.initWebApplicationContext()
      • FrameworkServlet.configureAndRefreshWebApplicationContext(org.springframework.web.context.ConfigurableWebApplicationContext)
  • メソッドの詳細

    • getMessageFactoryBeanName

      public StringSE getMessageFactoryBeanName()
      WebServiceMessageFactory のルックアップに使用される Bean 名を返します。
    • setMessageFactoryBeanName

      public void setMessageFactoryBeanName(StringSE messageFactoryBeanName)
      WebServiceMessageFactory のルックアップに使用される Bean 名を設定します。デフォルトは DEFAULT_MESSAGE_FACTORY_BEAN_NAME です。
    • getMessageReceiverBeanName

      public StringSE getMessageReceiverBeanName()
      WebServiceMessageReceiver のルックアップに使用される Bean 名を返します。
    • setMessageReceiverBeanName

      public void setMessageReceiverBeanName(StringSE messageReceiverBeanName)
      WebServiceMessageReceiver のルックアップに使用される Bean 名を設定します。デフォルトは DEFAULT_MESSAGE_RECEIVER_BEAN_NAME です。
    • isTransformWsdlLocations

      public boolean isTransformWsdlLocations()
      受信 HttpServletRequest のリクエスト URI を使用して WSDL 内の相対アドレス位置を変換するかどうかを示します。
    • setTransformWsdlLocations

      public void setTransformWsdlLocations(boolean transformWsdlLocations)
      受信 HttpServletRequest のリクエスト URI を使用して WSDL 内の相対アドレス位置を変換するかどうかを設定します。デフォルトは false です。
    • isTransformSchemaLocations

      public boolean isTransformSchemaLocations()
      受信 HttpServletRequest のリクエスト URI を使用して XSD 内の相対アドレス位置を変換するかどうかを示します。
    • setTransformSchemaLocations

      public void setTransformSchemaLocations(boolean transformSchemaLocations)
      XSD 内の相対アドレス位置を受信 HttpServletRequest のリクエスト URI を使用して変換するかどうかを設定します。デフォルトは false です。
    • getMessageReceiverHandlerAdapterBeanName

      public StringSE getMessageReceiverHandlerAdapterBeanName()
      WebServiceMessageReceiverHandlerAdapter のルックアップに使用される Bean 名を返します。
    • setMessageReceiverHandlerAdapterBeanName

      public void setMessageReceiverHandlerAdapterBeanName(StringSE messageReceiverHandlerAdapterBeanName)
      WebServiceMessageReceiverHandlerAdapter のルックアップに使用される Bean 名を設定します。デフォルトは DEFAULT_MESSAGE_RECEIVER_HANDLER_ADAPTER_BEAN_NAME です。
    • getWsdlDefinitionHandlerAdapterBeanName

      public StringSE getWsdlDefinitionHandlerAdapterBeanName()
      WsdlDefinitionHandlerAdapter のルックアップに使用される Bean 名を返します。
    • setWsdlDefinitionHandlerAdapterBeanName

      public void setWsdlDefinitionHandlerAdapterBeanName(StringSE wsdlDefinitionHandlerAdapterBeanName)
      WsdlDefinitionHandlerAdapter のルックアップに使用される Bean 名を設定します。デフォルトは DEFAULT_WSDL_DEFINITION_HANDLER_ADAPTER_BEAN_NAME です。
    • getXsdSchemaHandlerAdapterBeanName

      public StringSE getXsdSchemaHandlerAdapterBeanName()
      XsdSchemaHandlerAdapter のルックアップに使用される Bean 名を返します。
    • setXsdSchemaHandlerAdapterBeanName

      public void setXsdSchemaHandlerAdapterBeanName(StringSE xsdSchemaHandlerAdapterBeanName)
      XsdSchemaHandlerAdapter のルックアップに使用される Bean 名を設定します。デフォルトは DEFAULT_XSD_SCHEMA_HANDLER_ADAPTER_BEAN_NAME です。
    • doService

      protected void doService(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.servlet.http.HttpServletResponse httpServletResponse) throws ExceptionSE
      次で指定:
      クラス org.springframework.web.servlet.FrameworkServletdoService 
      例外:
      ExceptionSE
    • onRefresh

      protected void onRefresh(org.springframework.context.ApplicationContext context)
      この実装は initStrategies(org.springframework.context.ApplicationContext) を呼び出します。
      オーバーライド:
      クラス org.springframework.web.servlet.FrameworkServletonRefresh 
    • getLastModified

      protected long getLastModified(jakarta.servlet.http.HttpServletRequest httpServletRequest)
      オーバーライド:
      クラス jakarta.servlet.http.HttpServletgetLastModified 
    • getMessageReceiver

      protected WebServiceMessageReceiver getMessageReceiver()
      このサーブレットで使用される WebServiceMessageReceiver を返します。
    • getWsdlDefinition

      protected WsdlDefinition getWsdlDefinition(jakarta.servlet.http.HttpServletRequest request)
      特定のリクエストの WsdlDefinition を決定し、何も見つからない場合は null を決定します。

      デフォルトの実装では、リクエストメソッドが GET であるかどうか、リクエスト URI が ".wsdl" で終わるかどうか、リクエスト URI にファイル名と同じ名前の WsdlDefinition があるかどうかがチェックされます。

      パラメーター:
      request - HttpServletRequest
      戻り値:
      定義、または null
    • getXsdSchema

      protected XsdSchema getXsdSchema(jakarta.servlet.http.HttpServletRequest request)
      特定のリクエストの XsdSchema を決定し、何も見つからない場合は null を決定します。

      デフォルトの実装では、リクエストメソッドが GET であるかどうか、リクエスト URI が ".xsd" で終わるかどうか、リクエスト URI にファイル名と同じ名前の XsdSchema があるかどうかがチェックされます。

      パラメーター:
      request - HttpServletRequest
      戻り値:
      スキーマ、または null
    • initStrategies

      protected void initStrategies(org.springframework.context.ApplicationContext context)
      このサーブレットが使用する戦略オブジェクトを初期化します。

      さらに戦略オブジェクトを初期化するために、サブクラスでオーバーライドされる場合があります。