Change Log: JSR-109 : Web Services for Java EE, Version 1.2

Description

Maintainance Review 2 for JSR-109 Web Services for Java EE, Version 1.2

Maintainance Lead

Dhiru Pandey, Sun Microsystems, Inc.

Feedback

Comments should be sent to jsr109-spec-comments@sun.com

Rationale for proposed changes

The second maintenance review was needed because of the addition of some new features introduced in the specification as a result of feedback from the last maintenance review that ended Nov'05 and discussions in other expert groups (like JAX-WS, EJB and Java EE). The change log also contains all the bugs/clarifications that were reported/requested during the last maintenance review.



Proposed Changes

The major changes to the specification are listed below. Each change is numbered for ease of reference.

The actual verbiage for all the changes can be found in the attached specification draft (with change bars) at the section (or sections) mentioned below.



1.0 Overview changes

1.1 Clarified transaction propagation in section 3.10



2.0 Client side changes

2.1 Clarified that the use of @WebServiceRef not required with JAX-WS (Section 4.2.2)

JSR-109 will not require the use of @WebServiceRef annotation with JAX-WS runtime to access a Web Service from the client. The developer is free to use the standard JNDI lookup mechanism for the same.

2.2 Mapping for <service-ref-type> client descriptor specified (Section 4.2.2)

Mapping between a new client side deployment descriptor <service-ref-type> and @WebServiceRef annotation attribute type was added

2.3 Clarification on usage of @WebServiceRefs was added (Section 4.2.2)

2.4 Added section on JNDI lookups for Ports (Section 4.2.3)

This is similar to using @WebServiceRef for Service endpoints.

2.5 Clarification on JAX-RPC mapping file (Section 4.2.4.5)

Clarified that under JAX-WS runtime, JAX-RPC mapping file if specified is ignored

2.6 Added support for JAX-WS Asynchronous callback operations from EJBs (Section 4.2.8.2)

Asynchronous callback invocations are now allowed from EJBs as well.

2.7 Added a section clarifying interoperability between JAX-RPC and JAX-WS clients (Section 4.2.9)

2.8 Added support for enabling/disabling MTOM/XOP mechanism (Section 4.2.10)

JAX-WS compliant implementations are required to support MTOM/XOP specification from W3C. This section was added to provide support for this requirement from JAX-WS on the client side.

2.9 Added clarification in Packaging section (4.2.12)

Clarified that Web services client deployment descriptor are not required when JAX-WS annotations are used.



3.0 Server side changes

3.1 Clarified uniqueness requirement for @WebService.name in Java EE module (Section 5.3.2.1)

Uniqueness requirement for @WebService.name was removed, but the mapping between <port-component-name> and @WebService.name specifies the uniqueness criterion.

3.2 Clarified mapping for <ejb-link> and <servlet-link>(Section 5.3.2.1, Section 5.3.2.2)

3.3 Clarified mapping rules for Servlet endpoints with no web.xml (Section 5.3.2.1, Section 5.3.2.2)

3.4 Clarified mapping between <service-endpoint-interface> and @WebService.endpointInterface (Section 5.3.2.1)

3.5 Clarified that a WSDL file must be packaged with a Provider implementation (Section 5.3.2.2)

3.6 Clarified the usage of WebServiceContext with Stateless Session bean (Section 5.3.2.3.2)

3.7 Clarified the usage of WebServiceContext with Servlets (Section 5.3.2.4.2.2)

3.8 Disallowed the publishing of Endpoints (Section 5.3.3)

Disallowed both EJB and Servlet containers to publish Endpoints dynamically using javax.xml.ws.Endpoint API

3.9 Added support for new BindingTypes from JAX-WS (Section 5.3.6)

Added support for new BindingTypes (SOAP1.1 over HTTP with MTOM enabled and SOAP1.2 over HTTP with MTOM enabled) from JAX-WS. Also clarified relationship between <protocol-binding> descriptor and javax.xml.ws.BindingType annotation

3.10 Corrected the MTOM deployment descriptor element name and clarified its usage (Section 5.3.7)

3.11 Clarifications in Packaging (Section 5.4)

Added clarifications like - Service Endpoint Interface class is optional with JAX-WS, a Web services deployment descriptor is not required with JAX-WS when annotations are used etc.

3.12 Added clarification on use of TransactionAttribute annotation (Section 5.5)

3.13 Clarifications in packaging regarding mixing of JAX-RPC and JAX-WS components in a module (Section 5.4)

3.14 Clarified mapping relationship between <port-component> and @WebService (Section 5.3.2.1)

3.15 Clarified mapping relationship between <port-component> and @WebServiceProvider (Section 5.3.2.2)



4.0 Handler related changes

4.1 Clarified order of invocation for Handlers and EJB interceptors (Section 6.2.4)

4.2 Clarification for alignment between Handlers and EJB interceptors for EJB endpoints (Section 6.2.4)

This is inline with the alignment between message handlers and interceptors, for EJB based endpoints with both Handlers and EJB Interceptors present, the Map instance returned by invoking WebServiceContext.getMessageContext() method in the JAX-WS Handler, is the same Map instance that is obtained by invoking InvocationContext.getContextData() in the EJB Interceptor.



5.0 Web Services Deployment Descriptor changes

5.1 Clarified that deployment descriptors were optional (Section 7.1.1 and 7.1.2)

5.2 Added new protocol binding tokens (Section 7.1.2)

Added new protocol binding token ##SOAP11_HTTP_MTOM for new binding id introduced in JAX-WS for SOAP1.1 over HTTP with MTOM enabled and ##SOAP12_HTTP_MTOM for SOAP1.2 over HTTP with MTOM enabled.

5.3 Changes in section on Web Services Deployment Descriptor XML Schema (Section 7.1.5)

Changed minOccurs to 1 from 0 for element handlers in handler-chainType

5.4 Clarified that deployment descriptors were optional (Section 7.2.1)

5.5 Added <service-ref-type> deployment descriptor element (Section 7.2.2)

With JAX-WS the <service-ref-type> element declares the type of the service-ref element that is injected or returned when a JNDI lookup is done.

5.6 Added <enable-mtom> deployment descriptor element (Section 7.2.2)

The developer may specify if MTOM/XOP support for the port-component-ref is enabled or disabled

5.7 Changes in section on Web Services Client Service Reference XML Schema (Section 7.2.5)

Changed minOccurs to 1 from 0 for element handlers in handler-chainType, and added <service-ref-type> and <enable-mtom> deployment descriptor elements.

5.8 Fixed comments in both client and server deployment descriptor schema files



6.0 Deployment changes

6.1 Clarified that JAX-WS specification makes no distinction between stubs and proxies (Section 8.2.7)

6.2 Relevant references to deployment descriptor elements or file webservices.xml were fixed to include Web services metadata annotations allowed by JAX-WS

6.3 Removed the restriction on use of Mandatory transaction attribute (Section 8.1 and 8.2.10)