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 Jakarta XML Web Services 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"
<b>wsam:Action="http://example.com/inputAction"</b>/>
<output message="tns:AddNumbersOutput" name="bar"
<b>wsam:Action="http://example.com/outputAction"</b>/>
</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 Jakarta XML Web Services 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"
<b>wsam:Action="http://example.com/inputAction"</b>/>
<output message="tns:AddNumbersOutput" name="bar"
<b>wsam:Action="http://example.com/numbers/AddNumbersPortType/AddNumbersResponse"</b>/>
</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 Jakarta XML Web Services 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:
- 1.6, JAX-WS 2.1
- See Also:
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionExplicit value of the WS-AddressingAction
message addressing property for thefault
message(s) of the operation.Explicit value of the WS-AddressingAction
message addressing property for theinput
message of the operation.Explicit value of the WS-AddressingAction
message addressing property for theoutput
message of the operation.
-
Element Details
-
input
String inputExplicit value of the WS-AddressingAction
message addressing property for theinput
message of the operation.- Returns:
Action
message addressing property for theinput
message
- Default:
""
-
output
String outputExplicit value of the WS-AddressingAction
message addressing property for theoutput
message of the operation.- Returns:
Action
message addressing property for theoutput
message
- Default:
""
-
fault
FaultAction[] faultExplicit value of the WS-AddressingAction
message addressing property for thefault
message(s) of the operation. Each exception that is mapped to a fault and requires an explicit WS-AddressingAction
message addressing property, needs to be specified as a value in this property usingFaultAction
annotation.- Returns:
Action
message addressing property for thefault
message(s)
- Default:
{}
-