Provider (Java SE 9 & JDK 9 )
Keywords: javax.xml.ws.Provider interface

Module java.xml.ws
Package javax.xml.ws

## Interface Provider<T>

- Type Parameters:
    `T` - The type of the request

      public interface Provider<T>

  Service endpoints may implement the `Provider` interface as a dynamic alternative to an SEI.

  Implementations are required to support `Provider<Source>`, `Provider<SOAPMessage>` and `Provider<DataSource>`, depending on the binding in use and the service mode.

  The `ServiceMode` annotation can be used to control whether the `Provider` instance will receive entire protocol messages or just message payloads.

  Since:
    1.6, JAX-WS 2.0
  See Also:
    `Source`, `SOAPMessage`, `ServiceMode`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `T` | `invoke​(T request)` | Invokes an operation according to the contents of the request message.

- - ### Method Detail

    - #### invoke

          T invoke​(T request)

      Invokes an operation according to the contents of the request message.
      Parameters:
        `request` - The request message or message payload.
      Returns:
        The response message or message payload. May be `null` if there is no response.
      Throws:
        `WebServiceException` - If there is an error processing request. The cause of the `WebServiceException` may be set to a subclass of `ProtocolException` to control the protocol level representation of the exception.
      See Also:
        `MessageContext`, `ProtocolException`