## org.apache.axis.client
Class ServiceFactory

    java.lang.Object
      javax.xml.rpc.ServiceFactory
          org.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

Author:
  Glen Daniels (gdaniels@apache.org)

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
`clone, equals, finalize, 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 © 2005 Apache Web Services Project. All Rights Reserved.