Class ServiceFactory

java.lang.Object
javax.xml.rpc.ServiceFactory
org.apache.axis.client.ServiceFactory
All Implemented Interfaces:
ObjectFactory

public class ServiceFactory extends ServiceFactory implements ObjectFactory
Helper class for obtaining Services from JNDI. !!! WORK IN PROGRESS
Author:
Glen Daniels (gdaniels@apache.org)
  • Field Details

  • Constructor Details

    • ServiceFactory

      public ServiceFactory()
  • Method Details

    • setThreadDefaultConfig

      public static void setThreadDefaultConfig(EngineConfiguration config)
    • getService

      public static Service getService(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 Object getObjectInstance(Object refObject, Name name, Context nameCtx, Hashtable environment) throws Exception
      Specified by:
      getObjectInstance in interface ObjectFactory
      Throws:
      Exception
    • createService

      public Service createService(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(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(URL wsdlDocumentLocation, Class serviceInterface, 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(URL wsdlDocumentLocation, QName serviceName, 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