Package org.apache.cxf.frontend
Class ServerFactoryBean
- java.lang.Object
-
- org.apache.cxf.interceptor.AbstractBasicInterceptorProvider
-
- org.apache.cxf.endpoint.AbstractEndpointFactory
-
- org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory
-
- org.apache.cxf.frontend.ServerFactoryBean
-
- All Implemented Interfaces:
org.apache.cxf.interceptor.InterceptorProvider
- Direct Known Subclasses:
ServerFactoryBeanDefinitionParser.BPServerFactoryBean
,ServerFactoryBeanDefinitionParser.SpringServerFactoryBean
public class ServerFactoryBean extends AbstractWSDLBasedEndpointFactory
This class helps take aService
and expose as a server side endpoint. If there is no Service, it can create one for you using aReflectionServiceFactoryBean
.For most scenarios you'll want to just have the ServerFactoryBean handle everything for you. In such a case, usage might look like this:
ServerFactoryBean sf = new ServerFactoryBean(); sf.setServiceClass(MyService.class); sf.setAddress("http://localhost:8080/MyService"); sf.create();
You can also get more advanced and customize the service factory used:
ReflectionServiceFactory serviceFactory = new ReflectionServiceFactory(); serviceFactory.setServiceClass(MyService.class); .. \/\/ Customize service factory here... serviceFactory.setWrapped(false); ... ServerFactoryBean sf = new ServerFactoryBean(); sf.setServiceFactory(serviceFactory); sf.setAddress("http://localhost:8080/MyService"); sf.create();
-
-
Constructor Summary
Constructors Constructor Description ServerFactoryBean()
ServerFactoryBean(org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean sbean)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
applyFeatures(org.apache.cxf.endpoint.Server server)
org.apache.cxf.endpoint.Server
create()
protected org.apache.cxf.service.invoker.Invoker
createInvoker()
protected String
detectTransportIdFromAddress(String ad)
String
getBeanName()
org.apache.cxf.service.invoker.Invoker
getInvoker()
List<String>
getSchemaLocations()
org.apache.cxf.endpoint.Server
getServer()
For subclasses that hold onto the created Server, this will return the singleton server.Object
getServiceBean()
Class<?>
getServiceBeanClass()
protected org.apache.cxf.wsdl11.WSDLEndpointFactory
getWSDLEndpointFactory()
String
getWsdlLocation()
protected void
initializeServiceFactory()
boolean
isStart()
Whether or not the Server should be started upon creation.void
setInvoker(org.apache.cxf.service.invoker.Invoker invoker)
void
setSchemaLocations(List<String> schemaLocations)
void
setServiceBean(Object serviceBean)
Sets the bean implementing the service.void
setStart(boolean start)
Specifies if the Server should be started upon creation.void
setWsdlLocation(String location)
Specifies the location of the WSDL defining the service interface used by the factory to create services.-
Methods inherited from class org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory
createBindingInfo, createEndpoint, createEndpointInfo, createSoapBindingConfig, getServiceClass, getServiceFactory, getWsdlURL, setServiceClass, setServiceFactory, setWsdlURL
-
Methods inherited from class org.apache.cxf.endpoint.AbstractEndpointFactory
addToBeans, checkPrivateEndpoint, getAddress, getBindingConfig, getBindingFactory, getBindingId, getBus, getBus, getConduitSelector, getDataBinding, getDestinationFactory, getEndpointName, getFeatures, getProperties, getProperties, getPublishedEndpointUrl, getServiceName, getTransportId, initializeAnnotationInterceptors, initializeAnnotationInterceptors, initializeAnnotationInterceptors, setAddress, setBindingConfig, setBindingFactory, setBindingId, setBus, setConduitSelector, setDataBinding, setDestinationFactory, setEndpointName, setEndpointReference, setFeatures, setProperties, setPublishedEndpointUrl, setServiceName, setTransportId
-
-
-
-
Method Detail
-
getBeanName
public String getBeanName()
-
detectTransportIdFromAddress
protected String detectTransportIdFromAddress(String ad)
- Specified by:
detectTransportIdFromAddress
in classAbstractWSDLBasedEndpointFactory
-
getWSDLEndpointFactory
protected org.apache.cxf.wsdl11.WSDLEndpointFactory getWSDLEndpointFactory()
- Specified by:
getWSDLEndpointFactory
in classAbstractWSDLBasedEndpointFactory
-
getServer
public org.apache.cxf.endpoint.Server getServer()
For subclasses that hold onto the created Server, this will return the singleton server. Default returns null as the default factories do not hold onto the server and will create a new one for each call to create();- Returns:
-
create
public org.apache.cxf.endpoint.Server create()
-
initializeServiceFactory
protected void initializeServiceFactory()
- Overrides:
initializeServiceFactory
in classAbstractWSDLBasedEndpointFactory
-
applyFeatures
protected void applyFeatures(org.apache.cxf.endpoint.Server server)
-
createInvoker
protected org.apache.cxf.service.invoker.Invoker createInvoker()
-
isStart
public boolean isStart()
Whether or not the Server should be started upon creation.- Returns:
false
if the server should not be started upon creation
-
setStart
public void setStart(boolean start)
Specifies if the Server should be started upon creation. The default is for Servers to be started upon creation. Passingfalse
tells the factory that the Server will be started manually using the start method.- Parameters:
start
-false
specifies that the Server will not be started upon creation
-
getServiceBean
public Object getServiceBean()
-
getServiceBeanClass
public Class<?> getServiceBeanClass()
-
setServiceBean
public void setServiceBean(Object serviceBean)
Sets the bean implementing the service. If this is set aBeanInvoker
is created for the provided bean.- Parameters:
serviceBean
- an instantiated implementation object
-
getInvoker
public org.apache.cxf.service.invoker.Invoker getInvoker()
-
setInvoker
public void setInvoker(org.apache.cxf.service.invoker.Invoker invoker)
-
setWsdlLocation
public void setWsdlLocation(String location)
Specifies the location of the WSDL defining the service interface used by the factory to create services. Typically, the WSDL location is specified as a URL.- Parameters:
location
- the URL of the WSDL defining the service interface
-
getWsdlLocation
public String getWsdlLocation()
-
-