@Documented @Retention(value=RUNTIME) @Target(value=METHOD) public @interface Action
Action annotation allows explicit association of a
 WS-Addressing 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.
 For such a method, the mapped operation in the generated WSDL's
 wsam:Action attribute on the WSDL input,
 output and fault messages of the WSDL operation
 is based upon which attributes of the Action annotation have been specified.
 For the exact computation of wsam:Action values for the messages, refer
 to the algorithm in the JAX-WS specification.
 
 Example 1: Specify explicit values for Action message addressing property
 for input and output messages.
 
 @WebService(targetNamespace="http://example.com/numbers")
 public class AddNumbersImpl {
     @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="foo"
           wsam:Action="http://example.com/inputAction"/>
         <output message="tns:AddNumbersOutput" name="bar"
           wsam:Action="http://example.com/outputAction"/>
       </operation>
     </portType>
     ...
   </definitions>
 
 
 Example 2: Specify explicit value for Action message addressing property
 for only the input message. The wsam:Action values for the
 WSDL output message are computed using the algorithm in the JAX-WS specification.
 
 @WebService(targetNamespace="http://example.com/numbers")
 public class AddNumbersImpl {
     @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="foo"
           wsam:Action="http://example.com/inputAction" />
         <output message="tns:AddNumbersOutput" name="bar"
           wsam:Action="http://example.com/numbers/AddNumbersPortType/AddNumbersResponse"/>
       </operation>
     </portType>
     ...
   </definitions>
 
 It is legitimate to specify an explicit value for Action message addressing property for
 output message only. In this case, wsam:Action value for the
 WSDL input message is computed using the algorithm in the JAX-WS specification.
 
 Example 3: See FaultAction annotation for an example of
 how to specify an explicit value for Action message addressing property for the
 fault message.
FaultAction| Modifier and Type | Optional Element and Description | 
|---|---|
| FaultAction[] | faultExplicit value of the WS-Addressing  Actionmessage addressing property for thefaultmessage(s) of the operation. | 
| String | inputExplicit value of the WS-Addressing  Actionmessage addressing property for theinputmessage of the operation. | 
| String | outputExplicit value of the WS-Addressing  Actionmessage addressing property for theoutputmessage of the operation. | 
public abstract String input
Action message addressing property for the input
 message of the operation.public abstract String output
Action message addressing property for the output
 message of the operation.public abstract FaultAction[] fault
Action message addressing property for the fault
 message(s) of the operation. Each exception that is mapped to a fault and requires an explicit WS-Addressing
 Action message addressing property, needs to be specified as a value in this property
 using FaultAction annotation. Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2023, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.