org.springframework.remoting.jaxrpc
Class ServletEndpointSupport

java.lang.Object
  extended by org.springframework.remoting.jaxrpc.ServletEndpointSupport
All Implemented Interfaces:
ServiceLifecycle

public abstract class ServletEndpointSupport
extends Object
implements ServiceLifecycle

Convenience base class for JAX-RPC servlet endpoint implementations. Provides a reference to the current Spring application context, e.g. for bean lookup or resource loading.

The Web Service servlet needs to run in the same web application as the Spring context to allow for access to Spring's facilities. In case of Axis, copy the AxisServlet definition into your web.xml, and set up the endpoint in "server-config.wsdd" (or use the deploy tool).

This class does not extend WebApplicationObjectSupport to not expose any public setters. For some reason, Axis tries to resolve public setters in a special way...

JAX-RPC service endpoints are usually required to implement an RMI port interface. However, many JAX-RPC implementations accept plain service endpoint classes too, avoiding the need to maintain an RMI port interface in addition to an existing non-RMI business interface. Therefore, implementing the business interface will usually be sufficient.

Since:
16.12.2003
Author:
Juergen Hoeller
See Also:
init(java.lang.Object), getWebApplicationContext()

Field Summary
protected  Log logger
           
 
Constructor Summary
ServletEndpointSupport()
           
 
Method Summary
 void destroy()
          This implementation of destroy is empty.
protected  ApplicationContext getApplicationContext()
          Return the current Spring ApplicationContext.
protected  MessageSourceAccessor getMessageSourceAccessor()
          Return a MessageSourceAccessor for the application context used by this object, for easy message access.
protected  ServletContext getServletContext()
          Return the current ServletContext.
protected  ServletEndpointContext getServletEndpointContext()
          Return the current JAX-RPC ServletEndpointContext.
protected  File getTempDir()
          Return the temporary directory for the current web application, as provided by the servlet container.
protected  WebApplicationContext getWebApplicationContext()
          Return the current Spring WebApplicationContext.
 void init(Object context)
          Initialize this JAX-RPC servlet endpoint.
protected  void onInit()
          Callback for custom initialization after the context has been set up.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final Log logger
Constructor Detail

ServletEndpointSupport

public ServletEndpointSupport()
Method Detail

init

public final void init(Object context)
                throws ServiceException
Initialize this JAX-RPC servlet endpoint. Calls onInit after successful context initialization.

Specified by:
init in interface ServiceLifecycle
Parameters:
context - ServletEndpointContext
Throws:
ServiceException - if the context is not a ServletEndpointContext
See Also:
onInit()

getServletEndpointContext

protected final ServletEndpointContext getServletEndpointContext()
Return the current JAX-RPC ServletEndpointContext.


getApplicationContext

protected final ApplicationContext getApplicationContext()
Return the current Spring ApplicationContext.


getWebApplicationContext

protected final WebApplicationContext getWebApplicationContext()
Return the current Spring WebApplicationContext.


getMessageSourceAccessor

protected final MessageSourceAccessor getMessageSourceAccessor()
Return a MessageSourceAccessor for the application context used by this object, for easy message access.


getServletContext

protected final ServletContext getServletContext()
Return the current ServletContext.


getTempDir

protected final File getTempDir()
Return the temporary directory for the current web application, as provided by the servlet container.

Returns:
the File representing the temporary directory

onInit

protected void onInit()
               throws ServiceException
Callback for custom initialization after the context has been set up.

Throws:
ServiceException - if initialization failed

destroy

public void destroy()
This implementation of destroy is empty. Can be overridden in subclasses.

Specified by:
destroy in interface ServiceLifecycle