Network Deployment (Distributed operating systems), v8.0 > Applications > Web services
Web Services Addressing support
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 WAS ensures that your web service applications are WS-Addressing compliant when required. Read this topic only if we have to use the WS-Addressing support directly. For example, if we have one of the following roles:
- A web service developer who needs to use the WS-Addressing API 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 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.
- We 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.
- We 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.
- We can configure client proxy or Dispatch objects by using endpoint references.
- Java support for endpoint references that represent Web Services Resource (WS-Resource) instances.
- We 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 WAS v8 supports:
- We 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 WAS 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-WAS 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.
- We can enable and configure WS-Addressing on a client or service by adding WS-Policy assertions into the WSDL document. WAS 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.
- We 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.
- We 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.
- We can generate code from a WSDL document and WAS will now automatically insert @Action and @FaultAction annotations into the generated Java code. See the "Web Services Addressing annotations" topic for further information.
New feature:
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 to create JAX-RPC applications that use addressing, or to undertake more advanced functions that are not possible with the JAX-WS APIs.
The IBM proprietary API provides the following basic features:
- We 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.
- We 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.
- We can manipulate the contents of the endpoint reference, as specified by the WS-Addressing specification.
- We can associate a WS-Addressing namespace, and therefore specification behavior, with an endpoint reference.
- Java representations of the WS-Addressing message-addressing properties.
- We 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.
- We 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 identified by the http://www.w3.org/2005/08/addressing namespace. Unless otherwise stated, WS-Addressing semantics 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 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.
Related
Web Services Addressing overview
Web Services Addressing version interoperability
Web Services Addressing application programming model
Web Services Addressing annotations
Web Services Addressing security
Web Services Addressing: firewalls and intermediary nodes
Web Services Addressing and the service integration bus
JAX-WS
Web Services Resource Framework support
Web Services Atomic Transaction support in the application server
Web Services Business Activity support in the application server
Web Services Addressing APIs
IBM proprietary Web Services Addressing SPIs
Web service providers and policy configuration sharing
Create stateful web services by using the Web Services Resource Framework
Enable Web Services Addressing support for JAX-WS applications using WS-Policy
Enable Web Services Addressing support for JAX-WS applications using addressing annotations
Enable Web Services Addressing support for JAX-WS applications using addressing features
Enable Web Services Addressing support for JAX-WS applications using deployment descriptors
Develop applications that use Web Services Addressing
Use WS-Notification for publish and subscribe messaging for web services
Related
Specifications and API documentation
W3C WS-Addressing specifications: http://www.w3.org/2002/ws/addr/
W3C submission WS-Addressing specification:
JAX-WS API: http://jcp.org/aboutJava/communityprocess/mrel/jsr224/index2.html Concept topic