Table of Contents
JAX-WS RI 2.2.7 is a Web Services framework that provides tools and infrastructure to develop Web Services solutions for the end users and middleware developers.
Reference Implementation (RI) of JAX-WS 2.2 API. Full JAX-WS 2.2 compliance
Development Tools
WSDL to Java generator
Java to WSDL generator
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
In-VM transport
Servlet transport (bundled with the RI)
SOAP over TCP transport (part of WSIT)
FastInfoset (bundled with JAX-WS RI 2.2.7)
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
Support for custom WebServiceFeature
These APIs can be used b y a J2EE application server to integrate JAX-WS RI 2.2.7 for hosting JAX-WS services
Endpoint Deployment
Tightly integrated with Glassfish
Supports EJB and Web endpoints
109 based deployment support for better portability
JAX-WS RI specific deployment descriptor support
Light weight HTTP server
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. This architecture document is a glorified javadoc which includes all the JAX-WS RI specific APIs. JAX-WS RI 2.2.7 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.7 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.
The documentation for JAX-WS RI 2.2.7 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.7 can be found here .
Please go to http://jax-ws.java.net for the latest documentation and samples.
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
The following applies to the JAX-WS standalone bundles.
Extract JAX-WS RI 2.2.7 bundle
To install on GlassFish v2
If you want to use the JAX-WS RI 2.2.7 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.7, 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.7 bundle.
JDK 6u4 includes JAX-WS 2.1 and JAXB 2.1 API and RI.
JAX-WS RI 2.2.7 includes RI of JAX-WS/JAXB 2.2. In order to run
JAX-WS RI 2.2.7 you would need to specify ONLY
jaxws-api.jar
, and
jaxb-api.jar
jars using the Java
Endorsed Standards Override Mechanism
Table 1. Jar dependencies summary
Runtime Jars |
|
Tooltime Jars | All the runtime jars +
|
If you run JAX-WS RI 2.2.7 with IBM JDK, there are two options:
to add Oracles's JAXP implementation jars along
to remove the saaj-impl.jar from the libraries in order IBM SAAJ implementation to be used
First approach is recommended.
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.
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.
Go to http://jax-ws.java.net.
Send your feedback to users@metro.java.net or use the Metro and JAXB Forum
Add WS-Addressing 1.0 Metadata support as per 2.2 spec
Support for @XmlElement
on SEI's
wrapper parameter
Support for @XmlType
on exception
classes
Implement HTTP SPI
Implement Endpoint API with features
Generate new constructors in the generated Service class(service level features, wsdllocation)
Add
support for customizing wrapper wsdl:part
names as defined in 2.2
Add
support for customizing wsdl:message
name
using @WebFault
as defined in
2.2
Fault customization should accept fully qualified name of the exception class to be generated
Customization of Service should accept fully qualified class name
XPath expressions in jax-ws customization can now select multiple nodes
Disable server-side exception stacktrace for service specific exceptions
wsimport now handles URL redirection of imported wsdls correctly
JMX Agent for the server side
Mtom Interop with .NET 2.0/WSE 3.0
JAXB 2.1 RI Integration
JAX-WS 2.1 MR (JSR 224) implementation
Type substitution support
WS-Addressing - W3C and Memeber Submission
APIs to create EPR and use it to invoke endpoint
Support for enabling/disabling features, such as WS-Addressing/MTOM
Asynchronous server
Tubes and Fiber for asynchronous message processing
Dispatch<Message> and Provider<Message>
Stateful Webservice support