Spec-Zone .ru
спецификации, руководства, описания, API
Please note that the specifications and other information contained herein are not final and are subject to change. The information is being made available to you solely for purpose of evaluation.

Java™ Platform
Standard Ed. 7

DRAFT ea-b118

javax.xml.ws
Annotation Type Action


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

The 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.

Since:
JAX-WS 2.1
See Also:
FaultAction

Optional Element Summary
Modifier and Type Optional Element and Description
 FaultAction[] fault
          Explicit value of the WS-Addressing Action message addressing property for the fault message(s) of the operation.
 String input
          Explicit value of the WS-Addressing Action message addressing property for the input message of the operation.
 String output
          Explicit value of the WS-Addressing Action message addressing property for the output message of the operation.
 

input

public abstract String input
Explicit value of the WS-Addressing Action message addressing property for the input message of the operation.

Default:
""

output

public abstract String output
Explicit value of the WS-Addressing Action message addressing property for the output message of the operation.

Default:
""

fault

public abstract FaultAction[] fault
Explicit value of the WS-Addressing 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.

Default:
{}

Java™ Platform
Standard Ed. 7

DRAFT ea-b118

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, 2010, Oracle Corporation. All rights reserved.
DRAFT ea-b118

Scripting on this page tracks web page traffic, but does not change the content in any way.