org.springframework.remoting.jaxws

## 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-WS `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.

  Since:
    2.5
  Author:
    Juergen Hoeller
  See Also:
    `WebService`, `Endpoint.publish(String)`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `DEFAULT_BASE_ADDRESS` The default base address.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SimpleJaxWsServiceExporter()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 provider 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`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_BASE_ADDRESS

          public static final String DEFAULT_BASE_ADDRESS

      The 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:
        `Endpoint.publish(String)`, `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 class `AbstractJaxWsServiceExporter`
      Parameters:
        `endpoint` - the JAX-WS Endpoint object
        `annotation` - the service bean's WebService annotation

    - #### publishEndpoint

          protected void publishEndpoint(Endpoint endpoint,
                                         WebServiceProvider annotation)

      Description copied from class: `AbstractJaxWsServiceExporter`
      Actually publish the given provider endpoint. To be implemented by subclasses.
      Specified by:
        `publishEndpoint` in class `AbstractJaxWsServiceExporter`
      Parameters:
        `endpoint` - the JAX-WS Provider Endpoint object
        `annotation` - the service bean's WebServiceProvider 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 object
        `serviceName` - the given service name
      Returns:
        the full endpoint address