クラス MessageDispatcherServlet
- 実装されているすべてのインターフェース:
jakarta.servlet.Servlet
、jakarta.servlet.ServletConfig
、SerializableSE
、org.springframework.beans.factory.Aware
、org.springframework.context.ApplicationContextAware
、org.springframework.context.EnvironmentAware
、org.springframework.core.env.EnvironmentCapable
このサーブレットは、個別の WebServiceMessageReceiverHandlerAdapter
、MessageDispatcher
、WsdlDefinitionHandlerAdapter
インスタンスを備えた標準の Spring-MVC DispatcherServlet
の便利な代替手段です。
このサーブレットは、EndpointAdapters
、EndpointMappings
、EndpointExceptionResolvers
を型別に自動的に検出します。
このサーブレットは、アプリケーションコンテキストで定義された 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
- 関連事項:
DispatcherServlet
MessageDispatcher
WebServiceMessageReceiverHandlerAdapter
- 連載形式
フィールドのサマリー
フィールド修飾子と型フィールド説明static final StringSE
この名前空間の Bean ファクトリでのWebServiceMessageFactory
Bean の既知の名前。static final StringSE
この名前空間の Bean ファクトリでのWebServiceMessageReceiver
オブジェクトの既知の名前。static final StringSE
この名前空間の Bean ファクトリでのWebServiceMessageReceiverHandlerAdapter
オブジェクトの既知の名前。static final StringSE
この名前空間の Bean ファクトリでのWsdlDefinitionHandlerAdapter
オブジェクトの既知の名前。static final StringSE
この名前空間の Bean ファクトリでのXsdSchemaHandlerAdapter
オブジェクトの既知の名前。クラス org.springframework.web.servlet.FrameworkServlet から継承されたフィールド
DEFAULT_CONTEXT_CLASS, DEFAULT_NAMESPACE_SUFFIX, SERVLET_CONTEXT_PREFIX
クラス org.springframework.web.servlet.HttpServletBean から継承されたフィールド
logger
クラス jakarta.servlet.http.HttpServlet から継承されたフィールド
LEGACY_DO_HEAD
コンストラクターの概要
コンストラクターコンストラクター説明一部の Web アプリケーションサーバーに必要な public コンストラクター。MessageDispatcherServlet
(org.springframework.web.context.WebApplicationContext webApplicationContext) 指定された Web アプリケーションコンテキストでサーブレットのプログラム構成をサポートするコンストラクター。メソッドのサマリー
修飾子と型メソッド説明protected void
doService
(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.servlet.http.HttpServletResponse httpServletResponse) protected long
getLastModified
(jakarta.servlet.http.HttpServletRequest httpServletRequest) WebServiceMessageFactory
のルックアップに使用される Bean 名を返します。protected WebServiceMessageReceiver
このサーブレットで使用されるWebServiceMessageReceiver
を返します。WebServiceMessageReceiver
のルックアップに使用される Bean 名を返します。WebServiceMessageReceiverHandlerAdapter
のルックアップに使用される Bean 名を返します。protected WsdlDefinition
getWsdlDefinition
(jakarta.servlet.http.HttpServletRequest request) 特定のリクエストのWsdlDefinition
を決定し、何も見つからない場合はnull
を決定します。WsdlDefinitionHandlerAdapter
のルックアップに使用される Bean 名を返します。protected XsdSchema
getXsdSchema
(jakarta.servlet.http.HttpServletRequest request) 特定のリクエストのXsdSchema
を決定し、何も見つからない場合はnull
を決定します。XsdSchemaHandlerAdapter
のルックアップに使用される Bean 名を返します。protected void
initStrategies
(org.springframework.context.ApplicationContext context) このサーブレットが使用する戦略オブジェクトを初期化します。boolean
受信HttpServletRequest
のリクエスト URI を使用して XSD 内の相対アドレス位置を変換するかどうかを示します。boolean
受信HttpServletRequest
のリクエスト URI を使用して WSDL 内の相対アドレス位置を変換するかどうかを示します。protected void
onRefresh
(org.springframework.context.ApplicationContext context) void
setMessageFactoryBeanName
(StringSE messageFactoryBeanName) WebServiceMessageFactory
のルックアップに使用される Bean 名を設定します。void
setMessageReceiverBeanName
(StringSE messageReceiverBeanName) WebServiceMessageReceiver
のルックアップに使用される Bean 名を設定します。void
setMessageReceiverHandlerAdapterBeanName
(StringSE messageReceiverHandlerAdapterBeanName) WebServiceMessageReceiverHandlerAdapter
のルックアップに使用される Bean 名を設定します。void
setTransformSchemaLocations
(boolean transformSchemaLocations) XSD 内の相対アドレス位置を受信HttpServletRequest
のリクエスト URI を使用して変換するかどうかを設定します。void
setTransformWsdlLocations
(boolean transformWsdlLocations) 受信HttpServletRequest
のリクエスト URI を使用して WSDL 内の相対アドレス位置を変換するかどうかを設定します。void
setWsdlDefinitionHandlerAdapterBeanName
(StringSE wsdlDefinitionHandlerAdapterBeanName) WsdlDefinitionHandlerAdapter
のルックアップに使用される Bean 名を設定します。void
setXsdSchemaHandlerAdapterBeanName
(StringSE xsdSchemaHandlerAdapterBeanName) XsdSchemaHandlerAdapter
のルックアップに使用される Bean 名を設定します。クラス org.springframework.web.servlet.FrameworkServlet から継承されたメソッド
applyInitializers, buildLocaleContext, buildRequestAttributes, configureAndRefreshWebApplicationContext, createWebApplicationContext, createWebApplicationContext, destroy, doDelete, doGet, doOptions, doPost, doPut, doTrace, findWebApplicationContext, getContextAttribute, getContextClass, getContextConfigLocation, getContextId, getNamespace, getServletContextAttributeName, getUsernameForRequest, getWebApplicationContext, initFrameworkServlet, initServletBean, initWebApplicationContext, isEnableLoggingRequestDetails, onApplicationEvent, postProcessWebApplicationContext, processRequest, refresh, service, setApplicationContext, setContextAttribute, setContextClass, setContextConfigLocation, setContextId, setContextInitializerClasses, setContextInitializers, setDispatchOptionsRequest, setDispatchTraceRequest, setEnableLoggingRequestDetails, setNamespace, setPublishContext, setPublishEvents, setThreadContextInheritable
クラス org.springframework.web.servlet.HttpServletBean から継承されたメソッド
addRequiredProperty, createEnvironment, getEnvironment, getServletName, init, initBeanWrapper, setEnvironment
クラス jakarta.servlet.http.HttpServlet から継承されたメソッド
doHead, init, service
クラス jakarta.servlet.GenericServlet から継承されたメソッド
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, log, log
フィールドの詳細
DEFAULT_MESSAGE_FACTORY_BEAN_NAME
この名前空間の Bean ファクトリでのWebServiceMessageFactory
Bean の既知の名前。- 関連事項:
DEFAULT_MESSAGE_RECEIVER_BEAN_NAME
この名前空間の Bean ファクトリでのWebServiceMessageReceiver
オブジェクトの既知の名前。- 関連事項:
DEFAULT_MESSAGE_RECEIVER_HANDLER_ADAPTER_BEAN_NAME
この名前空間の Bean ファクトリでのWebServiceMessageReceiverHandlerAdapter
オブジェクトの既知の名前。- 関連事項:
DEFAULT_WSDL_DEFINITION_HANDLER_ADAPTER_BEAN_NAME
この名前空間の Bean ファクトリでのWsdlDefinitionHandlerAdapter
オブジェクトの既知の名前。- 関連事項:
DEFAULT_XSD_SCHEMA_HANDLER_ADAPTER_BEAN_NAME
この名前空間の Bean ファクトリでのXsdSchemaHandlerAdapter
オブジェクトの既知の名前。- 関連事項:
コンストラクターの詳細
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
WebServiceMessageFactory
のルックアップに使用される Bean 名を返します。setMessageFactoryBeanName
WebServiceMessageFactory
のルックアップに使用される Bean 名を設定します。デフォルトはDEFAULT_MESSAGE_FACTORY_BEAN_NAME
です。getMessageReceiverBeanName
WebServiceMessageReceiver
のルックアップに使用される Bean 名を返します。setMessageReceiverBeanName
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
WebServiceMessageReceiverHandlerAdapter
のルックアップに使用される Bean 名を返します。setMessageReceiverHandlerAdapterBeanName
public void setMessageReceiverHandlerAdapterBeanName(StringSE messageReceiverHandlerAdapterBeanName) WebServiceMessageReceiverHandlerAdapter
のルックアップに使用される Bean 名を設定します。デフォルトはDEFAULT_MESSAGE_RECEIVER_HANDLER_ADAPTER_BEAN_NAME
です。getWsdlDefinitionHandlerAdapterBeanName
WsdlDefinitionHandlerAdapter
のルックアップに使用される Bean 名を返します。setWsdlDefinitionHandlerAdapterBeanName
WsdlDefinitionHandlerAdapter
のルックアップに使用される Bean 名を設定します。デフォルトはDEFAULT_WSDL_DEFINITION_HANDLER_ADAPTER_BEAN_NAME
です。getXsdSchemaHandlerAdapterBeanName
XsdSchemaHandlerAdapter
のルックアップに使用される Bean 名を返します。setXsdSchemaHandlerAdapterBeanName
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.FrameworkServlet
のdoService
- 例外:
ExceptionSE
onRefresh
protected void onRefresh(org.springframework.context.ApplicationContext context) - オーバーライド:
- クラス
org.springframework.web.servlet.FrameworkServlet
のonRefresh
getLastModified
protected long getLastModified(jakarta.servlet.http.HttpServletRequest httpServletRequest) - オーバーライド:
- クラス
jakarta.servlet.http.HttpServlet
のgetLastModified
getMessageReceiver
このサーブレットで使用されるWebServiceMessageReceiver
を返します。getWsdlDefinition
特定のリクエストのWsdlDefinition
を決定し、何も見つからない場合はnull
を決定します。デフォルトの実装では、リクエストメソッドが
GET
であるかどうか、リクエスト URI が".wsdl"
で終わるかどうか、リクエスト URI にファイル名と同じ名前のWsdlDefinition
があるかどうかがチェックされます。- パラメーター:
request
-HttpServletRequest
- 戻り値:
- 定義、または
null
getXsdSchema
特定のリクエストのXsdSchema
を決定し、何も見つからない場合はnull
を決定します。デフォルトの実装では、リクエストメソッドが
GET
であるかどうか、リクエスト URI が".xsd"
で終わるかどうか、リクエスト URI にファイル名と同じ名前のXsdSchema
があるかどうかがチェックされます。- パラメーター:
request
-HttpServletRequest
- 戻り値:
- スキーマ、または
null
initStrategies
protected void initStrategies(org.springframework.context.ApplicationContext context) このサーブレットが使用する戦略オブジェクトを初期化します。さらに戦略オブジェクトを初期化するために、サブクラスでオーバーライドされる場合があります。