The Spring Framework

## org.springframework.remoting.jaxrpc
Class LocalJaxRpcServiceFactory

    java.lang.Object
      org.springframework.remoting.jaxrpc.LocalJaxRpcServiceFactory

Direct Known Subclasses:
  JaxRpcPortClientInterceptor, LocalJaxRpcServiceFactoryBean

    public class LocalJaxRpcServiceFactory

extends Object

Factory for locally defined JAX-RPC `Service` references. Uses a JAX-RPC `ServiceFactory` underneath.

Serves as base class for `LocalJaxRpcServiceFactoryBean` as well as `JaxRpcPortClientInterceptor` and `JaxRpcPortProxyFactoryBean`.

Since:
  15.12.2003
Author:
  Juergen Hoeller
See Also:
  `ServiceFactory`, `Service`, `LocalJaxRpcServiceFactoryBean`, `JaxRpcPortClientInterceptor`, `JaxRpcPortProxyFactoryBean`

Field Summary
`protected Log` `logger` Logger available to subclasses

Constructor Summary
`LocalJaxRpcServiceFactory()`

Method Summary
`Service` `createJaxRpcService()` Create a JAX-RPC Service according to the parameters of this factory.
`protected Service` `createService(ServiceFactory serviceFactory)` Actually create the JAX-RPC Service instance, based on this factory's settings.
`protected ServiceFactory` `createServiceFactory()` Create a JAX-RPC ServiceFactory, either of the specified class or the default.
`Class` `getJaxRpcServiceInterface()` Return the JAX-RPC service interface to use for looking up the service.
`Properties` `getJaxRpcServiceProperties()` Return JAX-RPC service properties to be passed to the ServiceFactory, if any.
`String` `getNamespaceUri()` Return the namespace URI of the service.
`protected QName` `getQName(String name)` Return a QName for the given name, relative to the namespace URI of this factory, if given.
`ServiceFactory` `getServiceFactory()` Return the specified ServiceFactory instance, if any.
`Class` `getServiceFactoryClass()` Return the ServiceFactory class to use, or `null` if default.
`String` `getServiceName()` Return the name of the service.
`JaxRpcServicePostProcessor[]` `getServicePostProcessors()` Return the JaxRpcServicePostProcessors to be applied to JAX-RPC Service instances created by this factory.
`URL` `getWsdlDocumentUrl()` Return the URL of the WSDL document that describes the service.
`protected void` `postProcessJaxRpcService(Service service)` Post-process the given JAX-RPC Service.
`void` `setJaxRpcServiceInterface(Class jaxRpcServiceInterface)` Set the JAX-RPC service interface to use for looking up the service.
`void` `setJaxRpcServiceProperties(Properties jaxRpcServiceProperties)` Set JAX-RPC service properties to be passed to the ServiceFactory, if any.
`void` `setNamespaceUri(String namespaceUri)` Set the namespace URI of the service.
`void` `setServiceFactory(ServiceFactory serviceFactory)` Set the ServiceFactory instance to use.
`void` `setServiceFactoryClass(Class serviceFactoryClass)` Set the ServiceFactory class to use, for example "org.apache.axis.client.ServiceFactory".
`void` `setServiceName(String serviceName)` Set the name of the service to look up.
`void` `setServicePostProcessors(JaxRpcServicePostProcessor[] servicePostProcessors)` Set the JaxRpcServicePostProcessors to be applied to JAX-RPC Service instances created by this factory.
`void` `setWsdlDocumentUrl(URL wsdlDocumentUrl)` Set the URL of the WSDL document that describes the service.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### logger

    protected final Log logger

  Logger available to subclasses

Constructor Detail

### LocalJaxRpcServiceFactory

    public LocalJaxRpcServiceFactory()

Method Detail

### setServiceFactory

    public void setServiceFactory(ServiceFactory serviceFactory)

  Set the ServiceFactory instance to use.

  This is an alternative to the common "serviceFactoryClass" property, allowing for a pre-initialized ServiceFactory instance to be specified.

  See Also:
    `setServiceFactoryClass(java.lang.Class)`

### getServiceFactory

    public ServiceFactory getServiceFactory()

  Return the specified ServiceFactory instance, if any.

### setServiceFactoryClass

    public void setServiceFactoryClass(Class serviceFactoryClass)

  Set the ServiceFactory class to use, for example "org.apache.axis.client.ServiceFactory".

  Does not need to be set if the JAX-RPC implementation has registered itself with the JAX-RPC system property "SERVICEFACTORY_PROPERTY".

  See Also:
    `ServiceFactory`

### getServiceFactoryClass

    public Class getServiceFactoryClass()

  Return the ServiceFactory class to use, or `null` if default.

### setWsdlDocumentUrl

    public void setWsdlDocumentUrl(URL wsdlDocumentUrl)

  Set the URL of the WSDL document that describes the service.

### getWsdlDocumentUrl

    public URL getWsdlDocumentUrl()

  Return the URL of the WSDL document that describes the service.

### setNamespaceUri

    public void setNamespaceUri(String namespaceUri)

  Set the namespace URI of the service. Corresponds to the WSDL "targetNamespace".

### getNamespaceUri

    public String getNamespaceUri()

  Return the namespace URI of the service.

### setServiceName

    public void setServiceName(String serviceName)

  Set the name of the service to look up. Corresponds to the "wsdl:service" name.

  See Also:
    `ServiceFactory.createService(javax.xml.namespace.QName)`, `ServiceFactory.createService(java.net.URL, javax.xml.namespace.QName)`, `ServiceFactory.loadService(java.net.URL, javax.xml.namespace.QName, java.util.Properties)`

### getServiceName

    public String getServiceName()

  Return the name of the service.

### setJaxRpcServiceInterface

    public void setJaxRpcServiceInterface(Class jaxRpcServiceInterface)

  Set the JAX-RPC service interface to use for looking up the service. If specified, this will override a "serviceName" setting.

  The specified interface will usually be a generated JAX-RPC service interface that directly corresponds to the WSDL service declaration. Note that this is not a port interface or the application-level service interface to be exposed by a port proxy!

  Only supported by JAX-RPC 1.1 providers.

  See Also:
    `setServiceName(java.lang.String)`, `ServiceFactory.loadService(Class)`, `ServiceFactory.loadService(java.net.URL, Class, java.util.Properties)`

### getJaxRpcServiceInterface

    public Class getJaxRpcServiceInterface()

  Return the JAX-RPC service interface to use for looking up the service.

### setJaxRpcServiceProperties

    public void setJaxRpcServiceProperties(Properties jaxRpcServiceProperties)

  Set JAX-RPC service properties to be passed to the ServiceFactory, if any.

  Only supported by JAX-RPC 1.1 providers.

  See Also:
    `ServiceFactory.loadService(java.net.URL, javax.xml.namespace.QName, java.util.Properties)`, `ServiceFactory.loadService(java.net.URL, Class, java.util.Properties)`

### getJaxRpcServiceProperties

    public Properties getJaxRpcServiceProperties()

  Return JAX-RPC service properties to be passed to the ServiceFactory, if any.

### setServicePostProcessors

    public void setServicePostProcessors(JaxRpcServicePostProcessor[] servicePostProcessors)

  Set the JaxRpcServicePostProcessors to be applied to JAX-RPC Service instances created by this factory.

  Such post-processors can, for example, register custom type mappings. They are reusable across all pre-built subclasses of this factory: LocalJaxRpcServiceFactoryBean, JaxRpcPortClientInterceptor, JaxRpcPortProxyFactoryBean.

  See Also:
    `LocalJaxRpcServiceFactoryBean`, `JaxRpcPortClientInterceptor`, `JaxRpcPortProxyFactoryBean`

### getServicePostProcessors

    public JaxRpcServicePostProcessor[] getServicePostProcessors()

  Return the JaxRpcServicePostProcessors to be applied to JAX-RPC Service instances created by this factory.

### createJaxRpcService

    public Service createJaxRpcService()
                                throws ServiceException

  Create a JAX-RPC Service according to the parameters of this factory.

  Throws:
    `ServiceException`
  See Also:
    `setServiceName(java.lang.String)`, `setWsdlDocumentUrl(java.net.URL)`, `postProcessJaxRpcService(javax.xml.rpc.Service)`

### getQName

    protected QName getQName(String name)

  Return a QName for the given name, relative to the namespace URI of this factory, if given.

  See Also:
    `setNamespaceUri(java.lang.String)`

### createServiceFactory

    protected ServiceFactory createServiceFactory()
                                           throws ServiceException

  Create a JAX-RPC ServiceFactory, either of the specified class or the default.

  Throws:
    `ServiceException` - if thrown by JAX-RPC methods
  See Also:
    `setServiceFactoryClass(java.lang.Class)`, `ServiceFactory.newInstance()`

### createService

    protected Service createService(ServiceFactory serviceFactory)
                             throws ServiceException

  Actually create the JAX-RPC Service instance, based on this factory's settings.

  Parameters:
    `serviceFactory` - the JAX-RPC ServiceFactory to use
  Returns:
    the newly created JAX-RPC Service
  Throws:
    `ServiceException` - if thrown by JAX-RPC methods
  See Also:
    `ServiceFactory.createService(java.net.URL, javax.xml.namespace.QName)`, `ServiceFactory.loadService(java.lang.Class)`

### postProcessJaxRpcService

    protected void postProcessJaxRpcService(Service service)

  Post-process the given JAX-RPC Service. Called by `createJaxRpcService()`. Useful, for example, to register custom type mappings.

  The default implementation delegates to all registered `JaxRpcServicePostProcessors`. It is usually preferable to implement custom type mappings etc there rather than in a subclass of this factory, to allow for reuse of the post-processors.

  Parameters:
    `service` - the current JAX-RPC Service (can be cast to an implementation-specific class if necessary)
  See Also:
    `setServicePostProcessors(org.springframework.remoting.jaxrpc.JaxRpcServicePostProcessor[])`, `Service.getTypeMappingRegistry()`

The Spring Framework

Copyright © 2002-2008 The Spring Framework.