@Documented @Retention(RUNTIME) @Target(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"
<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 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"
<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 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 | 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. |
String input
Action
message addressing property for the input
message of the operation.String output
Action
message addressing property for the output
message of the operation.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, 2017, Oracle and/or its affiliates. 500 Oracle Parkway
Redwood Shores, CA 94065 USA. All rights reserved.
DRAFT 9-internal+0-adhoc.mlchung.jdk9-jdeps