JAX-WS
v2.1

javax.xml.ws
Annotation Type Action


@Documented
@Retention(value=RUNTIME)
@Target(value=METHOD)
public @interface Action

The Action annotation allows explicit association of Action message addressing property with input, output, and fault messages of the mapped WSDL operation.

This annotation can be specified on each method of a service endpoint interface or implementation. For such a method, the mapped operation in the generated WSDL contains explicit wsaw:Action attribute on the WSDL input, output and fault messages of the WSDL operation based upon which attributes of the Action annotation have been specified.

Example 1: Specify explicit values for Action message addressing property for input and output messages.

 @javax.jws.WebService
 public class AddNumbersImpl {
     @javax.xml.ws.Action(
         input="http://example.com/inputAction",
         output="http://example.com/outputAction")
     public int addNumbers(int number1, int number2) {
         return number1 + number2;
     }
 }
 
The generated WSDL looks like:
   <definitions targetNamespace="http://example.com/numbers" ...>
   ...
     <portType name="AddNumbersPortType">
       <operation name="AddNumbers">
         <input message="tns:AddNumbersInput" name="Parameters"
           wsaw:Action="http://example.com/inputAction"/>
        <output message="tns:AddNumbersOutput" name="Result"
           wsaw:Action="http://example.com/outputAction"/>
       </operation>
     <portType>
   ...
   <definitions>
 

Example 2: Specify explicit value for Action message addressing property for only the input message. The default values are used for the output message.

 @javax.jws.WebService
 public class AddNumbersImpl {
     @javax.xml.ws.Action(input="http://example.com/inputAction")
     public int addNumbers(int number1, int number2) {
         return number1 + number2;
     }
 }
 
The generated WSDL looks like:
   <definitions targetNamespace="http://example.com/numbers" ...>
   ...
     <portType name="AddNumbersPortType">
       <operation name="AddNumbers">
         <input message="tns:AddNumbersInput" name="Parameters"
           wsaw:Action="http://example.com/inputAction"/>
        <output message="tns:AddNumbersOutput" name="Result"/>
       </operation>
     <portType>
   ...
   <definitions>
 
It is legitimate to specify an explicit value for Action message addressing property for output message only. In this case, a default value of wsaw:Action is used for the input message.

Example 3: See FaultAction annotation for an example of how to specify an explicit value for Action message addressing property for the fault message.

Since:
JAX-WS 2.1
See Also:
FaultAction

Optional Element Summary
 FaultAction[] fault
          Explicit value of Action message addressing property for the fault message(s) of the operation.
 java.lang.String input
          Explicit value of Action message addressing property for the input message of the operation.
 java.lang.String output
          Explicit value of Action message addressing property for the output message of the operation.
 

input

public abstract java.lang.String input
Explicit value of Action message addressing property for the input message of the operation. If the value is "", then no wsaw:Action is generated.

Default:
""

output

public abstract java.lang.String output
Explicit value of Action message addressing property for the output message of the operation. If the value is "", then no wsaw:Action is generated.

Default:
""

fault

public abstract FaultAction[] fault
Explicit value of Action message addressing property for the fault message(s) of the operation. Each exception that is mapped to a fault and requires explicit Action message addressing property, need to be specified as a value in this property using FaultAction annotation.

Default:
{}

JAX-WS
v2.1


Comments to: jsr224-spec-comments@sun.com
More information at: http://java.sun.com/xml/jax-ws

Copyright © 2006 by Sun Microsystems, Inc., 4150 Network Circle,
Santa Clara, California 95054, U.S.A. All Rights Reserved.