The Web Services Addressing (WS-Addressing) support in
this product provides the environment for web services that use the
World Wide Web Consortium (W3C) WS-Addressing specifications. This
family of specifications provide transport-neutral mechanisms to address
web services and to facilitate end-to-end addressing.
You do not usually have to be aware of the underlying
WS-Addressing support because WebSphere
® Application Server
ensures that your web service applications are WS-Addressing compliant
when required. Read this topic only if you have to use the WS-Addressing
support directly. For example, if you have one of the following roles:
- A web service developer who needs to use the WS-Addressing application
programming interfaces (APIs) to create endpoint references within
an application, and then use these references to target web service
resource instances.
- A system programmer who needs to use the IBM proprietary WS-Addressing
system programming interfaces (SPIs) to undertake more advanced WS-Addressing
operations, such as specifying message-addressing properties on web
services messages.
- An administrator who is configuring policy sets for JAX-WS applications.
The WS-Addressing support for developers consists of
two sets of programming interfaces: the JAX-WS standard interfaces,
and the IBM proprietary implementation of the WS-Addressing specification.
Features of the JAX-WS WS-Addressing support
This
product provides support for the JAX-WS WS-Addressing APIs, which
you can use to undertake basic addressing functions such as creating
an endpoint reference, enabling WS-Addressing support, and specifying
the action URIs that are associated with the WSDL operations of the
web service. Use these APIs if you want to undertake simple WS-Addressing
functions and create JAX-WS applications that are portable.
The
JAX-WS WS-Addressing APIs provide the following features for core
WS-Addressing application development:
- Java representations of WS-Addressing endpoint
references.
- You can create Java endpoint reference instances
for the application endpoint, or other endpoints in the same application,
at run time. You do not have to specify the URI of the endpoint reference.
- You can create Java endpoint reference instances
for endpoints in other applications by specifying the URI of the endpoint
reference.
- On services, you can use annotations to specify whether WS-Addressing
support is enabled, whether it is required, and which message exchange
pattern (synchronous, asynchronous, or both) to use.
- On clients, you can use features to specify whether WS-Addressing
support is enabled and whether it is required.
- You can configure client proxy or Dispatch objects by using endpoint
references.
- Java support for endpoint references that represent
Web Services Resource (WS-Resource) instances.
- You can associate reference parameters with an endpoint reference
at the time of its creation, to correlate it with a particular resource
instance.
- In targeted web services, you can extract the reference parameters
of an incoming message, so that the web service can route the message
to the appropriate WS-Resource instance.
New feature: The following
features were introduced in the JAX-WS 2.2 specification, which
WebSphere Application Server Version 8 supports:
- You can specify additional binding information within the metadata
of an endpoint reference as part of the JAX-WS 2.2 specification.
This functionality was added to WebSphere Application Server in version 7,
however as it was not part of the JAX-WS 2.1 specification, you might
have experienced incompatibility issues when interoperating with non-WebSphere Application Server servers which
did not offer support for additional metadata in endpoint references.
Now that JAX-WS 2.2 supports WSDL metadata in endpoint references,
applications will be compatible with other implementations of this
specification. See the "Web Services Addressing overview" topic for
further information.
- You can enable and configure WS-Addressing on a client or service
by adding WS-Policy assertions into the WSDL document. WebSphere Application Server will now process
WS-Addressing information held within the WS-Policy aspect of a WSDL
document and use it in the configuration of that application. See
the "Enabling Web Services Addressing support for JAX-WS applications
using WS-Policy" topic for further information.
- You can specify whether a synchronous or an asynchronous message
exchange pattern is required by a web service application using the
addressing annotation or the AddressingFeature. Use the new responses parameter
on the addressing annotations or the AddressingFeature class in the
code. See the "Enabling Web Services Addressing support for JAX-WS
applications using addressing annotations" topic and the "Enabling
Web Services Addressing support for JAX-WS applications using addressing
features" topic for further information.
- You can configure WS-Addressing using deployment descriptors.
Add an <addressing> element and optional child
elements to the deployment descriptor file for the application. See
the "Enabling Web Services Addressing support for JAX-WS applications
using deployment descriptors" topic for further information.
- You can generate code from a WSDL document and WebSphere Application Server will now automatically
insert @Action and @FaultAction annotations into the generated Java
code. See the "Web Services Addressing annotations" topic for further
information.
newfeat
Features of the IBM proprietary WS-Addressing support
This
product provides an IBM proprietary implementation of the WS-Addressing
specification, which you can use with JAX-RPC applications as well
as JAX-WS applications, to undertake more advanced functions such
as creating endpoint references that represent highly available objects,
or directly setting message addressing properties in the SOAP header.
Use these APIs and SPIs if you want to create JAX-RPC applications
that use addressing, or you want to undertake more advanced functions
that are not possible with the JAX-WS APIs.
The IBM proprietary
API provides the following basic features:
- You can easily create Java endpoint
reference instances to represent any endpoint in the server, based
on the deployment environment of the application. You do not have
to specify the URI of the endpoint reference. Additionally, endpoint
references can represent highly available or workload-managed objects.
- You can configure client JAX-WS BindingProvider request context
objects, or JAX-RPC Stub or Call objects, with a WS-Addressing endpoint
reference. Future invocations on these objects are targeted at the
endpoint that is represented by the endpoint reference. The invocations
also automatically conform to the WS-Addressing specification (namespace)
that is associated with that endpoint reference.
The IBM proprietary WS-Addressing SPIs provide support
for extended WS-Addressing system development by using the following
features:
- Reasoning and manipulation of endpoint references beyond what
is available at the application programming level.
- You can manipulate the contents of the endpoint reference, as
specified by the WS-Addressing specification.
- You can associate a WS-Addressing namespace, and therefore specification
behavior, with an endpoint reference.
- Java representations of the WS-Addressing message-addressing
properties.
- You can specify WS-Addressing message-addressing properties for
outbound web service messages. In the targeted web service, you can
extract message addressing properties from inbound web service messages.
- You can specify the WS-Addressing namespace of an outbound WS-Addressing
message, although in most cases the namespace is automatically derived
based on the target endpoint reference. In a targeted web service,
you can acquire the WS-Addressing namespace of an incoming message.
Support for WS-Addressing specifications and interoperability
By
default, this product supports the W3C WS-Addressing 1.0 Core and
SOAP Binding specifications that are identified by the http://www.w3.org/2005/08/addressing
namespace. Unless otherwise stated, WS-Addressing semantics that are
described in this documentation refer to these specifications.
For
interoperability, other levels of the WS-Addressing specification
are supported in this version of the product; in particular, the WS-Addressing
W3C submission with the namespace http://schemas.xmlsoap.org/ws/2004/08/addressing.
For
JAX-WS applications, this product supports the WS-Addressing metadata
specification identified by the http://www.w3.org/2007/05/addressing/metadata
namespace. This specification supersedes the WS-Addressing Web Services
Description Language (WSDL) binding specification identified by the
http://www.w3.org/2006/05/addressing/wsdl namespace.
In addition,
this product supports the following features from the WS-Addressing
WSDL binding specification:
- The wsaw:UsingAddressing extensibility element, on the WSDL Binding
element only. The supported namespaces for this element are the http://www.w3.org/2006/05/addressing/wsdl
namespace and the http://www.w3.org/2006/02/addressing/wsdl namespace
(deprecated).
- The wsaw:Action extensibility element. The supported namespaces
for this element are the http://www.w3.org/2006/05/addressing/wsdl
namespace, the http://www.w3.org/2006/02/addressing/wsdl namespace
(deprecated), and the http://schemas.xmlsoap.org/ws/2004/08/addressing
namespace.