FileDocCategorySizeDatePackage
AddressingFeature.javaAPI DocJava SE 6 API5541Tue Jun 10 00:27:16 BST 2008javax.xml.ws.soap

AddressingFeature

public final class AddressingFeature extends WebServiceFeature
This feature represents the use of WS-Addressing with either the SOAP 1.1/HTTP or SOAP 1.2/HTTP binding. Using this feature with any other binding is NOT required.

Enabling this feature on the client will cause the JAX-WS runtime to include WS-Addressing headers in SOAP messages.

If the web service developer has not explicitly enabled this feature, it MAY be automatically enabled if the associated WSDL enables WS-Addressing with an implementation recognized WSDL extension element. However, in this version of JAX-WS, there is no standard WSDL extension that a client can rely on to automatically enable WS-Addressing, nor is there a standard default value specified for WS-Addressing Action headers.

To write a portable endpoint and its corresponding client with this version of JAX-WS, an endpoint MUST explicitly specify what WS-Addressing Actions are to be used via the {@link Action} and {@link FaultAction} annotations. The client MUST explicitly enable addresssing via this AddressingFeature, and for each invocation, the client MUST explicitly set the {@link BindingProvider#SOAPACTION_URI_PROPERTY}. After the W3C WG on WS-Addressing has specified how the use of WS-Addressing is specified in the WSDL, and what the default value must be for Action headers, a future version of JAX-WS will remove these requirements.

See {@link javax.xml.ws.RespectBindingFeature} for more information on required WSDL extensions.

The following describes the effects of this feature with respect to be enabled or disabled:

  • ENABLED: In this Mode, WS-Addressing will be enabled. At runtime, WS-Addressing headers MUST be consumed by the receiver and produced by the sender even if the WSDL declares otherwise. The mustUnderstand="0" attribute MUST be used on the WS-Addressing headers.
  • DISABLED: In this Mode, WS-Addressing will be disabled even if an associated WSDL specifies otherwise. At runtime, WS-Addressing headers MUST NOT be used. WS-Addressing may be explicitly disabled to prevent a JAX-WS implementation from consuming and producing WS-Addressing headers. If an application has implemented WS-Addressing itself, it MUST explicitly disable this feature. Not doing so may break compatibility with future versions of JAX-WS.

The {@link #required} property can be used to specify if WS-Addressing headers MUST be present on incoming messages. This property only has meaning when used on the endpoint and has no affect when used on the client. By default the required property is false.

See Web Services Addressing - Core and Web Services Addressing 1.0 - SOAP Binding for more information on WS-Addressing.

since
JAX-WS 2.1

Fields Summary
public static final String
ID
Constant value identifying the AddressingFeature
protected boolean
required
Property for the required feature parameter. When WS-Addressing is enabled, the value of this property will be used to specify if WS-Addressing headers MUST be present on incoming messages. This property only has meaning on the endpoint and has no affect when used on the client.
Constructors Summary
public AddressingFeature()
Create an AddressingFeature. The instance created will be enabled.

    
                  
      
        this.enabled = true;
    
public AddressingFeature(boolean enabled)
Create an AddressingFeature

param
enabled specifies whether this feature should be enabled or not.

        this.enabled = enabled;
    
public AddressingFeature(boolean enabled, boolean required)
Create an AddressingFeature

param
enabled specifies whether this feature should be enabled or not.
param
required specifies whether WS-Addressing headers MUST be present on incoming messages. This property only has meaning on the endpoint and has no affect when used on the client.

        this.enabled = enabled;
        this.required = required;
    
Methods Summary
public java.lang.StringgetID()
{@inheritDoc}

        return ID;
    
public booleanisRequired()
Gets the boolean value used to determine if WS-Addressing headers MUST be present on incoming messages. This property only has meaning on the endpoint, and has no affect when used on the client.

return
the current required value

        return required;