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

