|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
@Documented @Retention(value=RUNTIME) @Target(value=METHOD) public @interface FaultAction
The FaultAction
annotation can be specified on each method of a
service endpoint interface or implementation that throws an exception. This annotation
allows implicit and explicit association of Action
for the exception with
the corresponding WSDL operation. The generated WSDL contains explicit wsa:Action
attribute on the WSDL fault
element, as defined by the WS-Addressing 1.0
WSDL Binding specification.
Here is an example using default values of FaultAction
.
Example 1:
@javax.jws.WebService public class AddNumbersImpl { @javax.ws.addressing.FaultAction(className=AddNumbersException.class) public int addNumbers(int number1, int number2) throws AddNumbersException { 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="Parameters"/> <output message="tns:AddNumbersOutput" name="Result"/> <fault message="tns:addNumbersFault" name="InvalidNumbers" wsa:Action="http://example.com/numbers/AddNumbersPortType/AddNumbersFault:InvalidNumbers"/> </operation> <portType> ... <definitions>Here is an example where an explicit value for
FaultAction
is specified.
Example 2:
@javax.jws.WebService public class AddNumbersImpl { @javax.ws.addressing.FaultAction(className=AddNumbersException.class, value="http://example.com/addnumbers/fault") 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="Parameters"/> <output message="tns:AddNumbersOutput" name="Result"/> <fault message="tns:addNumbersFault" name="InvalidNumbers" wsa:Action="http://example.com/addnumbers/fault"/> </operation> <portType> ... <definitions>
FaultAction
may be used with Action
annotation as shown below.
Example 3:
@javax.jws.WebService public class AddNumbersImpl { @javax.ws.addressing.Action(input="http://example.com/addnumbers/input", output="http://example.com/addnumbers/output") @javax.ws.addressing.FaultAction(className=AddNumbersException.class, value="http://example.com/addnumbers/fault") public int addNumbers(int number1, int number2) throws AddNumbersException { 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="Parameters" wsa:Action="http://example.com/addnumbers/input"/> <output message="tns:AddNumbersOutput" name="Result" wsa:Action="http://example.com/addnumbers/output"/> <fault message="tns:addNumbersFault" name="InvalidNumbers" wsa:Action="http://example.com/addnumbers/fault"/> </operation> <portType> ... <definitions>
Required Element Summary | |
---|---|
java.lang.Class |
className
Name of the exception class |
Optional Element Summary | |
---|---|
java.lang.String |
value
Explicit Action for the fault operation |
Element Detail |
---|
public abstract java.lang.Class className
public abstract java.lang.String value
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |