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. This is the case with the JAX-WS runtime that's inclued in Sun's JDK 1.6 but not with the standalone JAX-WS 2.1 RI.

  For explicit configuration of JAX-WS endpoints with Sun's JDK 1.6 HTTP server, consider using `SimpleHttpServerJaxWsServiceExporter`!

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

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `DEFAULT_BASE_ADDRESS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SimpleJaxWsServiceExporter()`

  - ### Method Summary

    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, setEndpointProperties, setExecutor, setWebServiceFeatures`

    - ### 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

      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