org.apache.axis.client
Class ServiceFactory

java.lang.Object
  extended byjavax.xml.rpc.ServiceFactory
      extended byorg.apache.axis.client.ServiceFactory
All Implemented Interfaces:
javax.naming.spi.ObjectFactory

public class ServiceFactory
extends ServiceFactory
implements javax.naming.spi.ObjectFactory

Helper class for obtaining Services from JNDI. !!! WORK IN PROGRESS


Field Summary
static java.lang.String MAINTAIN_SESSION
           
static java.lang.String SERVICE_CLASSNAME
           
static java.lang.String SERVICE_IMPLEMENTATION_NAME_PROPERTY
           
static java.lang.String SERVICE_LOCAL_PART
           
static java.lang.String SERVICE_NAMESPACE
           
static java.lang.String WSDL_LOCATION
           
 
Fields inherited from class javax.xml.rpc.ServiceFactory
SERVICEFACTORY_PROPERTY
 
Constructor Summary
ServiceFactory()
           
 
Method Summary
 Service createService(QName serviceName)
          Create a Service instance.
 Service createService(java.net.URL wsdlDocumentLocation, QName serviceName)
          Create a Service instance.
 java.lang.Object getObjectInstance(java.lang.Object refObject, javax.naming.Name name, javax.naming.Context nameCtx, java.util.Hashtable environment)
           
static Service getService(java.util.Map environment)
          Obtain an AxisClient reference, using JNDI if possible, otherwise creating one using the standard Axis configuration pattern.
 Service loadService(java.lang.Class serviceInterface)
          Create an instance of the generated service implementation class for a given service interface, if available.
 Service loadService(java.net.URL wsdlDocumentLocation, java.lang.Class serviceInterface, java.util.Properties properties)
          Create an instance of the generated service implementation class for a given service interface, if available.
 Service loadService(java.net.URL wsdlDocumentLocation, QName serviceName, java.util.Properties properties)
          Create an instance of the generated service implementation class for a given service, if available.
static void setThreadDefaultConfig(EngineConfiguration config)
           
 
Methods inherited from class javax.xml.rpc.ServiceFactory
newInstance
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SERVICE_CLASSNAME

public static final java.lang.String SERVICE_CLASSNAME
See Also:
Constant Field Values

WSDL_LOCATION

public static final java.lang.String WSDL_LOCATION
See Also:
Constant Field Values

MAINTAIN_SESSION

public static final java.lang.String MAINTAIN_SESSION
See Also:
Constant Field Values

SERVICE_NAMESPACE

public static final java.lang.String SERVICE_NAMESPACE
See Also:
Constant Field Values

SERVICE_LOCAL_PART

public static final java.lang.String SERVICE_LOCAL_PART
See Also:
Constant Field Values

SERVICE_IMPLEMENTATION_NAME_PROPERTY

public static final java.lang.String SERVICE_IMPLEMENTATION_NAME_PROPERTY
See Also:
Constant Field Values
Constructor Detail

ServiceFactory

public ServiceFactory()
Method Detail

setThreadDefaultConfig

public static void setThreadDefaultConfig(EngineConfiguration config)

getService

public static Service getService(java.util.Map environment)
Obtain an AxisClient reference, using JNDI if possible, otherwise creating one using the standard Axis configuration pattern. If we end up creating one and do have JNDI access, bind it to the passed name so we find it next time.

Parameters:
environment -
Returns:
a service

getObjectInstance

public java.lang.Object getObjectInstance(java.lang.Object refObject,
                                          javax.naming.Name name,
                                          javax.naming.Context nameCtx,
                                          java.util.Hashtable environment)
                                   throws java.lang.Exception
Specified by:
getObjectInstance in interface javax.naming.spi.ObjectFactory
Throws:
java.lang.Exception

createService

public Service createService(java.net.URL wsdlDocumentLocation,
                             QName serviceName)
                      throws ServiceException
Create a Service instance.

Specified by:
createService in class ServiceFactory
Parameters:
wsdlDocumentLocation - URL for the WSDL document location for the service
serviceName - QName for the service.
Returns:
Service.
Throws:
ServiceException - If any error in creation of the specified service

createService

public Service createService(QName serviceName)
                      throws ServiceException
Create a Service instance. Since the WSDL file is not provided here, the Service object returned is quite simpleminded. Likewise, the Call object that service.createCall will return will also be simpleminded. The caller must explicitly fill in all the info on the Call object (ie., endpoint address, etc.).

Specified by:
createService in class ServiceFactory
Parameters:
serviceName - QName for the service
Returns:
Service.
Throws:
ServiceException - If any error in creation of the specified service

loadService

public Service loadService(java.lang.Class serviceInterface)
                    throws ServiceException
Create an instance of the generated service implementation class for a given service interface, if available.

Specified by:
loadService in class ServiceFactory
Parameters:
serviceInterface - Service interface
Returns:
Service.
Throws:
ServiceException - If there is any error while creating the specified service, including the case where a generated service implementation class cannot be located

loadService

public Service loadService(java.net.URL wsdlDocumentLocation,
                           java.lang.Class serviceInterface,
                           java.util.Properties properties)
                    throws ServiceException
Create an instance of the generated service implementation class for a given service interface, if available. An implementation may use the provided wsdlDocumentLocation and properties to help locate the generated implementation class. If no such class is present, a ServiceException will be thrown.

Specified by:
loadService in class ServiceFactory
Parameters:
wsdlDocumentLocation - URL for the WSDL document location for the service or null
serviceInterface - Service interface
properties - A set of implementation-specific properties to help locate the generated service implementation class
Returns:
Service.
Throws:
ServiceException - If there is any error while creating the specified service, including the case where a generated service implementation class cannot be located

loadService

public Service loadService(java.net.URL wsdlDocumentLocation,
                           QName serviceName,
                           java.util.Properties properties)
                    throws ServiceException
Create an instance of the generated service implementation class for a given service, if available. The service is uniquely identified by the wsdlDocumentLocation and serviceName arguments. An implementation may use the provided properties to help locate the generated implementation class. If no such class is present, a ServiceException will be thrown.

Specified by:
loadService in class ServiceFactory
Parameters:
wsdlDocumentLocation - URL for the WSDL document location for the service or null
serviceName - Qualified name for the service
properties - A set of implementation-specific properties to help locate the generated service implementation class
Returns:
Service.
Throws:
ServiceException - If there is any error while creating the specified service, including the case where a generated service implementation class cannot be located


Copyright 2003 Apache Web Services Project. A ll Rights Reserved.