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;
}
}
<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 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;
}
}
<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>
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.
- See Also:
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionExplicit value of the WS-AddressingActionmessage addressing property for thefaultmessage(s) of the operation.Explicit value of the WS-AddressingActionmessage addressing property for theinputmessage of the operation.Explicit value of the WS-AddressingActionmessage addressing property for theoutputmessage of the operation.
-
Element Details
-
input
String inputExplicit value of the WS-AddressingActionmessage addressing property for theinputmessage of the operation.- Returns:
Actionmessage addressing property for theinputmessage
- Default:
""
-
output
String outputExplicit value of the WS-AddressingActionmessage addressing property for theoutputmessage of the operation.- Returns:
Actionmessage addressing property for theoutputmessage
- Default:
""
-
fault
FaultAction[] faultExplicit value of the WS-AddressingActionmessage addressing property for thefaultmessage(s) of the operation. Each exception that is mapped to a fault and requires an explicit WS-AddressingActionmessage addressing property, needs to be specified as a value in this property usingFaultActionannotation.- Returns:
Actionmessage addressing property for thefaultmessage(s)
- Default:
{}
-