Jakarta XML Web Services
| Company type | API |
|---|---|
| Industry | Software development, Web services |
| Predecessor | Java API for XML Web Services |
Area served | Software developers, Jakarta EE platform users |
| Products | API for SOAP-based web services development |
The Jakarta XML Web Services (JAX-WS; previously known as Java API for XML Web Services) is an API within the Jakarta EE platform designed for developing web services, particularly those based on SOAP. It represents a fundamental Java API for working with XML in web services.
Overview
The JAX-WS 2.2 specification (JSR 224) establishes a standardized Java-to-WSDL mapping that connects WSDL operations with Java methods triggered by SOAP messages. This mapping dictates how methods are called, how parameters are bound, and the conversion of return values into SOAP responses.
Utilizing Java annotations introduced in Java SE 5, JAX-WS simplifies the creation of both web service clients and endpoints. It is included in the Java Web Services Development Pack and supported in Java SE starting from version 6. Nonetheless, JAX-WS was deprecated and removed from Java SE 11 following JEP 320.
With the release of JAX-WS 2.0 in Java EE 5, it superseded the older JAX-RPC, placing greater emphasis on document-style web services. JAX-WS serves as the foundational technology for Eclipse Metro and supports WSIT.
Supported Standards
- JAX-WS versions 2.0, 2.1, and 2.2 (JSR 224)
- WS-I Basic Profile versions 1.2 and 2.0
- WS-I Attachments Profile version 1.0
- WS-I Simple SOAP Binding Profile version 1.0
- WS-Addressing 1.0 including Core, SOAP Binding, and WSDL Binding specifications
Primary JAX-WS Packages
| Package | Description |
|---|---|
| javax.xml.ws | Fundamental JAX-WS APIs |
| javax.xml.ws.http | APIs supporting XML/HTTP binding |
| javax.xml.ws.soap | APIs for SOAP over HTTP binding |
| javax.xml.ws.handler | APIs for handling messages |
| javax.xml.ws.spi | Service provider interfaces (SPIs) related to JAX-WS |
| javax.xml.ws.spi.http | HTTP SPI enabling portable deployment of JAX-WS in containers |
| javax.xml.ws.wsaddressing | APIs pertaining to WS-Addressing functionality |
| javax.jws | Annotations APIs for Java-to-WSDL mapping |
| javax.jws.soap | APIs facilitating the mapping of web services to the SOAP protocol |
Specifications Related to XML Web Services
| Java EE 7 | |||
| Specification | Version | Standards Organization | JSR/URL |
|---|---|---|---|
| JAX-WS | 2.3 | JCP | 224 |
| Web Services | 1.3 | JCP | 109 |
| WS Metadata | 2.1 | JCP | 181 |
| JAXB | 2.2 | JCP | 222 |
| SAAJ | 1.3 | JCP | 67 |
| SOAP | 1.2 | W3C | soap |
| XML | 1.1 | W3C | xml |
| WSDL | 1.1 | W3C | wsdl |
Available Implementations
- Eclipse Metro within Eclipse Enterprise for Java (EE4J)
- Apache CXF
- Apache Axis2
- JBossWS integrated into WildFly
- IBM WebSphere Jax-Ws included in WebSphere
- Oracle Weblogic