Skip to main content

JAX-WS 2.1 Maintenance Review

Posted by kohlert on November 7, 2006 at 1:48 PM PST

The JAX-WS 2.1 Maintenance Review has started and will complete on November 27, 2006.

The JAX-WS 2.1 MR focuses on integrating WS-Addressing into the JAX-WS specification. By integrating WS-Addressing into JAX-WS, the web service developer can now utilize EndpointReferences to identify a particular endpoint. An EndpointReference is an opaque object to the web service developer that can be used in conjunction with new APIs on the JAX-WS service interface to get a proxy or Dispatch object for the endpoint referred to by the EndpointReference. The EndpointReference may also contain wsa:referenceParameters that the web service endpoint can use to implement stateful web services.

Another important addition in JAX-WS 2.1 is a solution for the type substitution problem. In JAX-WS 2.0, type substitution did not work mainly because JAX-WS and JAXB were not aware of all the types that an application might use. For example, you may have a WSDL that defines additional types via type substitution that are not referenced directly by a particular service. These additional types could not be marshalled properly by JAX-WS because it was not possible for JAX-WS to know about these additional types. Likewise, when starting from Java, a service endpoint interface may use a base class as a method parameter but at runtime expect to be able to marshall subclasses. Again, JAX-WS did not have any way of knowing about these subclasses and hence could not marshall them. JAXB 2.1 (which has also been submitted for review) introduces the @XmlSeeAlso annotation that can be used to tell JAX-WS and JAXB about additional types that they should be aware of.

JAX-WS 2.1 introduces the notion of "features". A feature is associated with a particular functionality or behavior. Some features may only have meaning when used with certain bindings while other features may be generally useful. JAX-WS 2.1 introduces three standard features, AddressingFeature, MTOMFeature and RespectBindingFeature as well as the base WebServiceFeature class. The AddressingFeature is used to control whether WS-Addressing is enabled or not. The MTOMFeature controls the use of MTOM and the
RespectBindingFeature is used to improve portability by forcing JAX-WS implementations to respect wsd:binding extensions. A JAX-WS 2.1 implementation may define its own features but they will be non-portable across all JAX-WS 2.1 implementations.

For more information on these "features" and the other changes proposed in JAX-WS 2.1, please see the Change Log and updated specification at:

JAX-WS is part of the Glassfish Community

Related Topics >>