Class SimpleJaxWsServiceExporter
- java.lang.Object
- org.springframework.remoting.jaxws.AbstractJaxWsServiceExporter
- org.springframework.remoting.jaxws.SimpleJaxWsServiceExporter
- All Implemented Interfaces:
Aware
,BeanFactoryAware
,DisposableBean
,InitializingBean
public class SimpleJaxWsServiceExporter extends AbstractJaxWsServiceExporter
Simple exporter for JAX-WS services, autodetecting annotated service beans (through the JAX-WSjavax.jws.WebService
annotation) and exporting them with a configured base address (by default "http://localhost:8080/") using the JAX-WS provider's built-in publication support. The full address for each service will consist of the base address with the service name appended (e.g. "http://localhost:8080/OrderService").Note that this exporter will only work if the JAX-WS runtime actually supports publishing with an address argument, i.e. if the JAX-WS runtime ships an internal HTTP server. This is the case with the JAX-WS runtime that's included in Sun's JDK 6 but not with the standalone JAX-WS 2.1 RI.
For explicit configuration of JAX-WS endpoints with Sun's JDK 6 HTTP server, consider using
SimpleHttpServerJaxWsServiceExporter
!- Since:
- 2.5
- Author:
- Juergen Hoeller
- See Also:
javax.jws.WebService
,javax.xml.ws.Endpoint#publish(String)
,SimpleHttpServerJaxWsServiceExporter
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_BASE_ADDRESS
Constructor Summary
Constructors Constructor Description SimpleJaxWsServiceExporter()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String
calculateEndpointAddress(Endpoint endpoint, String serviceName)
Calculate the full endpoint address for the given endpoint.protected void
publishEndpoint(Endpoint endpoint, WebService annotation)
Actually publish the given endpoint.protected void
publishEndpoint(Endpoint endpoint, WebServiceProvider annotation)
Actually publish the given endpoint.void
setBaseAddress(String baseAddress)
Set the base address for exported services.Methods inherited from class org.springframework.remoting.jaxws.AbstractJaxWsServiceExporter
afterPropertiesSet, createEndpoint, destroy, publishEndpoints, setBeanFactory, setBindingType, setEndpointFeatures, setEndpointProperties, setExecutor, setWebServiceFeatures
Field Detail
DEFAULT_BASE_ADDRESS
public static final String DEFAULT_BASE_ADDRESS
- See Also:
- Constant Field Values
Constructor Detail
SimpleJaxWsServiceExporter
public SimpleJaxWsServiceExporter()
Method Detail
setBaseAddress
public void setBaseAddress(String baseAddress)
Set the base address for exported services. Default is "http://localhost:8080/".For each actual publication address, the service name will be appended to this base address. E.g. service name "OrderService" -> "http://localhost:8080/OrderService".
- See Also:
javax.xml.ws.Endpoint#publish(String)
,javax.jws.WebService#serviceName()
publishEndpoint
protected void publishEndpoint(Endpoint endpoint, WebService annotation)
Description copied from class:AbstractJaxWsServiceExporter
Actually publish the given endpoint. To be implemented by subclasses.- Specified by:
publishEndpoint
in classAbstractJaxWsServiceExporter
- Parameters:
endpoint
- the JAX-WS Endpoint objectannotation
- the service bean's WebService annotation
publishEndpoint
protected void publishEndpoint(Endpoint endpoint, WebServiceProvider annotation)
Description copied from class:AbstractJaxWsServiceExporter
Actually publish the given endpoint. To be implemented by subclasses.- Specified by:
publishEndpoint
in classAbstractJaxWsServiceExporter
- Parameters:
endpoint
- the JAX-WS Endpoint objectannotation
- the service bean's WebService annotation
calculateEndpointAddress
protected String calculateEndpointAddress(Endpoint endpoint, String serviceName)
Calculate the full endpoint address for the given endpoint.- Parameters:
endpoint
- the JAX-WS Provider Endpoint objectserviceName
- the given service name- Returns:
- the full endpoint address