cornercorner
FeaturesPluginsDocs & SupportCommunityPartners

JaxWsAPI

Contents


Purpose of the JAX-WS Provider SPI/API

  • provide SPI for JAX-WS Provider implementation in various project types
  • provide API for accessing JAX-WS Services in project

Who will use JAX-WS Provider SPI/API

  • Project types that want to support creation of JAX-WS services, and expose those services in logical view (JAX-WS Provider SPI)
  • Netbeans modules that want to create, remove, test or introspect web services in a projects (JAX-WS Provider API)
 API supports both java or wsdl style of WS creation

Architecture

JAX-WS Provider SPI/API consists of SPI and API part.

JAX-WS Provider SPI

The role of SPI implementation is to integrate JAX-WS Services to particular project type. SPI part consists of 4 interfaces :

  • JAXWSSupportImpl - provides methods that implement JAX-WS service creation and removal as well as information where JAX-WS java and xml artifacts are located in project
  • JAXWSSupportProvider - provides method to obtain JAXWSSupport for particular FileObject
  • JAXWSViewImpl - provides method to create JAX-WS Provider root node in project
  • JAXWSViewProvider - provides method to obtain JAXWSView for particular FileObject

To simplify the implementation process, SPI contains some useful final and abstract classes, e.g. :

  • JAXWSSupportFactory - used to obtain JAXWSSupport from JaxWSSupportImpl
  • JAXWSViewFactory - used to obtain JAXWSView from JAXWSViewImpl
  • ProjectJAXWSSupport - default abstract class, implementation of JAXWSSupportImpl

The implementator responsibility is to put JAXWSSupportProvider and JAXWSViewProvider instances to project lookup either in project type module or in separate module to force the project/WS infrastructure to expose web services.

JAX-WS Provider API

The role of JAX-WS Provider API is to provide an entry point to JAX-WS services in project.
The API is used by a client module to :

  • add web service to project
  • delete web service from project
  • search for web services in project

API consists of these (final) classes :

  • JAXWSSupport - enables to get JAXWSSupport instance for particular project,
    then add, remove or introspect JAX-WS services in project
  • JAXWSView - returns the WS root node for particular project