All Packages Class Hierarchy This Package Previous Next Index
Interface oracle.soap.server.Provider
- public interface Provider
Provider
defines the capabilities that must be supported
for each type of service provider, such as Java class,
stored procedure, or EJB.
Providers are responsible for service authorization, and parameter
unmarshalling/marshalling.
Providers, aka provider instances, must be deployed to the SOAP
handler. Each provider deployment must define the provider name,
Java classname that implements the provider (which must be an
implementation of this interface), and any number of
provider-specific key-value pairs.
Given the provider deployment information, the SOAP handler will
interact with the providers solely through this interface.
The SOAP handler will create one instance for each deployed
provider instance. It is possible to have one or more instances
of each provider implementation (which is not to say that is
necessarily recommended). In any event, each instance of a
provider must be able to handle requests concurrently.
A provider implementation must:
- provide a no-args constructor
- be thread-safe
Extensions that will be made to this interface:
- support service description (requires that the server pass some
general information to the provider, which is TBD)
-
destroy()
- One-time provider instance cleanup.
-
getId()
- Get this provider's unique name.
-
init(ProviderDeploymentDescriptor, SOAPServerContext)
- One-time provider instance initialization.
-
invoke(RequestContext)
- Invoke the requested method in the specified service, where the
SOAP request is completely described in the request context.
init
public abstract void init(ProviderDeploymentDescriptor pd,
SOAPServerContext ssc) throws SOAPException
- One-time provider instance initialization.
This method will be invoked by the SOAP handler exactly once
before the handler makes any requests to services supported
by the provider, allowing the provider to set up any
provider-global context.
- Parameters:
- pd
- The provider descriptor which contains the provider deployment
information.
- ssc
- The SOAP server context, which contains the logger for
informational messages.
- Throws: SOAPException
- Unable to initialize and therefore unable to provide services.
- See Also:
- destroy
destroy
public abstract void destroy() throws SOAPException
- One-time provider instance cleanup.
This method will be invoked by the SOAP handler exactly once
before the handler shuts down. This gives the provider the
opportunity to do cleanup of provider-global state.
- Throws: SOAPException
- Unable to destroy.
- See Also:
- init
getId
public abstract String getId()
- Get this provider's unique name.
- Returns:
- This providers name, which is unique within the SOAP handler.
invoke
public abstract void invoke(RequestContext requestContext) throws SOAPException
- Invoke the requested method in the specified service, where the
SOAP request is completely described in the request context.
- Parameters:
- requestContext
- The
RequestContext
that contains everything the
provider needs to process the request.
- Throws: SOAPException
- Error during method invocation for any number of reasons, including
user does not have permission, method does not exist.
All Packages Class Hierarchy This Package Previous Next Index