# Java TM API for XML Web Services
(JAX-WS)
Release Notes

Specification Version: 2.2
Implementation Version: 2.2.5

- Overview
- Release Notes
- Changelog

## Contents

## 1. Overview

JAX-WS RI 2.2.5 is a Web Services framework that provides tools and infrastructure to develop Web Services solutions for the end users and middleware developers.

## 2. Features in this release

- Reference Implementation (RI) of JAX-WS 2.2 API. Full JAX-WS 2.2 compliance
- Development Tools
  - WSDL to Java generator
    - Wsimport command line tool, ant task and Maven2 plugin
  - Java to WSDL generator
    - Wsgen command line tool, ant Task and Maven2 plugin
- Standards
  - Web Services Addressing 1.0 - Core
  - Web Services Addressing 1.0 - SOAP Binding
  - Web Services Addressing 1.0 - Metadata
  - Web Services Addressing 1.0 - WSDL Binding (RI specific support)
  - WS-Addressing - Member Submission
  - SOAP 1.1 and 1.2
  - REST and XML/HTTP
  - WS-I Basic Profile 1.2 and 2.0
  - WS-I Simple SOAP Binding Profile 1.0
  - WS-I Attachment Profile 1.0
  - MTOM
- Extensions (May not be final unless says so)
  - Web Services Interoperable Technologies ( WSIT) - enables .NET 3.x interoperability
    - WS-ReliableMessaging
    - WS-Policy
    - WS-MEX
    - WS-Security/WS-Security Policy
    - WS-Trust/WS-Secure Conversation
    - WS-AT/WS-Tx (Supported only on Glassfish v2)
    - SOAP/TCP
  - Spring support
  - Pluggable Transport
    - In-VM transport
    - Servlet transport (bundled with the RI)
    - JMS transport
    - SOAP over TCP transport (part of WSIT)
  - FastInfoset (bundled with JAX-WS RI 2.2.5
    - ITU-T Rec. X.891 | ISO/IEC 24824-1
  - JBI Service Engine and Binding Component(part of Glassfish v2)
  - HTTP Binding Component, used by Open JBI component
- Data binding - JAXB RI 2.2.3 u1
- Server Side Asynchrony - AsyncProvider
- Stateful Web Services
- Support for custom WebServiceFeature
- Hosting API
  - These APIs can be used b y a J2EE application server to integrate JAX-WS RI 2.2.5 for hosting JAX-WS services
- Endpoint Deployment
  - Glassfish v3
    - Tightly integrated with Glassfish
    - Supports EJB and Web endpoints
    - 109 based deployment support for better portability
    - JAX-WS RI specific deployment descriptor support
  - Sun One Application Server 9.0 ur1
  - Light weight HTTP server
    - On JDK 1.5 through http.jar distributed with the JAX-WS 2.2 FCS RI bundle
    - Bundled with JDK 6
  - Any other container that supports Servlet 2.4, such as Tomcat, Jetty, Geronimo, JBoss, Resin, ... You name it!

This release brings in the highly pluggable framework through abstractions such as Tube and Message. Refer to the latest architecture document . This architecture document is a glorified javadoc which includes all the JAX-WS RI specific APIs. JAX-WS RI 2.2.5 has many bug fixes made for interoperability with .NET 3.0. This is made mostly possible due to WSIT, which uses JAX-WS plugabble architecture to plug in support for WS-Metadata, WS-Policy, WS-ReliableMessaging, WS-Transaction, WS-SecureConversation and WS-Security.

If you wish to use JAX-WS RI 2.2.5 in a Java EE container in a Java EE portable manner you need to use the standard Java EE 6 deployment descriptor; please refer to the Java EE 6 or Glassfish documentation/samples. The majority of the documentation included with JAX-WS is valid with Java EE 6 as well.

## 3. Online Documentation

The documentation for JAX-WS RI 2.2.5 as well as the sample applications will be periodically updated in the JAX-WS project.

The architecture document describing the latest JAX-WS RI 2.2.5 can be found here .

Please go to http://jax-ws.java.net for the latest documentation and samples.

## 4. Required Software

- Requires JDK 5.0 Update 2 or later

- Requires Ant 1.6.2 or later

- Tested to work with GlassFish v3.1 and Apache Tomcat 5.5.x

## 5. Installation Instructions

The following applies to the JAX-WS standalone bundles.

- Extract JAX-WS RI 2.2.5 bundle
- To install on GlassFish v2
  - If you want to use the JAX-WS RI 2.2.5 overriding the one with Glassfish v2, Download Metro 2.1 bundle from http://metro.java.net and follow the instructions in that bundle
- To use with GlassFish v3.1
  - GlassFish v3.1 has JAX-WS RI 2.2.5, so there is no installation step.
- To install on Tomcat
  - Set CATALINA_HOME to your Tomcat installation.
  - Run 'ant install', This essentially copies lib/*.jar from the root of JAX-WS RI extracted bundle to CATALINA_HOME/shared/lib
  - If you are running on top of JDK6, run 'ant install-api' or use ant -help for detailed information.

If you intend to only invoke an already existing Web service, then alternatively you can use the `wsimport` and `wsgen` scripts in the `bin` directory of the JAX-WS RI 2.2.5 bundle.

## 6. Running on top of JDK 6

JDK 6u4 includes JAX-WS 2.1 and JAXB 2.1 API and RI. JAX-WS RI 2.2.5 includes RI of JAX-WS/JAXB 2.2. In order to run JAX-WS RI 2.2.5 you would need to specify ONLY jaxws-api.jar, and jaxb-api.jar jars using the Java Endorsed Standards Override Mechanism

## 7. Jar dependency

Runtime Jars | FastInfoset.jar, activation.jar, http.jar, jaxb-api.jar, jaxb-impl.jar, jaxws-api.jar, jaxws-rt.jar, jsr173_api.jar, jsr181-api.jar, jsr250-api.jar, mimepull.jar, resolver.jar, saaj-api.jar, saaj-impl.jar, woodstox.jar, stax-ex.jar, streambuffer.jar, policy.jar, gmbal-api-only.jar, management-api.jar, ha-api.jar
Tooltime Jars | All the runtime jars + jaxb-xjc.jar, jaxws-tools.jar

## 8. Current Limitations

- The `java.util.Collection` classes cannot be used with rpc/literal or document/literal BARE style due to a limitation in JAXB. However, they do work in the default document/literal WRAPPED style.

## 9. Bugs Fixed in this release

- Bug fixes

## 10. Known Bugs/Issues

- Although JAX-WS customizations are portable across implementations, the names of WSDL and schema files generated are not specified. Therefore each vendor may and most likely will generate different names. Therefore, when switching between implementations of JAX-WS, it may be necessary to modify your customization files to reflect different WSDL and schema file names.
- This holds true for different releases of the JAX-WS RI. The JAX-WS RI may in each release change these file names to resolve bugs. If and when this does occur, a developer would need to change the filenames in their customization files to match the new file names.
- A bug in Apt ant task makes it not work by default. Workaround is to use fork="true" option in the apt task.

## 11. For More Information

Go to http://jax-ws.java.net.

Send your feedback to users@metro.java.net or use the Metro and JAXB Forum