oracle.soap.server
Interface Provider

All Known Subinterfaces:
AutonomousProvider

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:

Extensions that will be made to this interface:


Method Summary
 void destroy()
          One-time provider instance cleanup.
 java.lang.String getId()
          Get this provider's unique name.
 void init(ProviderDeploymentDescriptor pd, SOAPServerContext ssc)
          One-time provider instance initialization.
 void invoke(RequestContext requestContext)
          Invoke the requested method in the specified service, where the SOAP request is completely described in the request context.
 

Method Detail

init

public 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 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(oracle.soap.server.ProviderDeploymentDescriptor, oracle.soap.server.SOAPServerContext)

getId

public java.lang.String getId()
Get this provider's unique name.
Returns:
This providers name, which is unique within the SOAP handler.

invoke

public 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.


Copyright 2001 Oracle SOAP. All Rights Reserved.