パッケージ jakarta.xml.ws
アノテーション型 FaultAction
@DocumentedSE @RetentionSE(RUNTIMESE) @TargetSE(METHODSE) public @interface FaultAction
FaultActionアノテーションはActionアノテーション内で使用され、WS-AddressingActionメッセージアドレス指定プロパティと例外クラスからマップされた WSDL 操作のfaultメッセージとの明示的な関連付けを可能にします。classNameクラスにマップされた生成された WSDL 操作のfaultメッセージのwsam:Action属性値は、FaultActionの対応する値と同じです。障害メッセージのwsam:Action値の正確な計算については、Jakarta XML Web Services 仕様のアルゴリズムを参照してください。例 1: Java メソッドがサービス固有の例外を 1 つだけスローする場合は、
input、output、faultメッセージのActionメッセージアドレス指定プロパティに明示的な値を指定します。@WebService(targetNamespace="http://example.com/numbers") public class AddNumbersImpl { @Action( fault = { @FaultAction(className=AddNumbersException.class, value="http://example.com/faultAction") }) public int addNumbers(int number1, int number2) throws AddNumbersException { return number1 + number2; } }生成された WSDL は次のようになります。<definitions targetNamespace="http://example.com/numbers" ...> ... <portType name="AddNumbersPortType"> <operation name="AddNumbers"> ... <fault message="tns:AddNumbersException" name="AddNumbersException"wsam:Action="http://example.com/faultAction"/> </operation> </portType> ... </definitions>例 2: これは、サービス固有の例外の
Actionメッセージアドレス指定プロパティの明示的な値が存在しないかどうかを示す例です。@WebService(targetNamespace="http://example.com/numbers") public class AddNumbersImpl { public int addNumbers(int number1, int number2) throws AddNumbersException { return number1 + number2; } }生成された WSDL は次のようになります。<definitions targetNamespace="http://example.com/numbers" ...> ... <portType name="AddNumbersPortType"> <operation name="AddNumbers"> ... <fault message="tns:addNumbersFault" name="InvalidNumbers"wsam:Action="http://example.com/numbers/AddNumbersPortType/AddNumbers/Fault/AddNumbersException"/> </operation> </portType> ... </definitions>例 3: これは、Java メソッドが複数のサービス固有の例外をスローした場合に
Actionメッセージアドレス指定プロパティに明示的な値を指定する方法を示す例です。@WebService(targetNamespace="http://example.com/numbers") public class AddNumbersImpl { @Action( fault = { @FaultAction(className=AddNumbersException.class, value="http://example.com/addFaultAction"), @FaultAction(className=TooBigNumbersException.class, value="http://example.com/toobigFaultAction") }) public int addNumbers(int number1, int number2) throws AddNumbersException, TooBigNumbersException { return number1 + number2; } }生成された WSDL は次のようになります。<definitions targetNamespace="http://example.com/numbers" ...> ... <portType name="AddNumbersPortType"> <operation name="AddNumbers"> ... <fault message="tns:addNumbersFault" name="AddNumbersException"wsam:Action="http://example.com/addFaultAction"/> <fault message="tns:tooBigNumbersFault" name="TooBigNumbersException"wsam:Action="http://example.com/toobigFaultAction"/> </operation> </portType> ... </definitions>- 導入:
- 1.6、JAX-WS 2.1
必須定数のサマリー
必須要素 修飾子と型 必須要素 説明 ClassSE<? extends ExceptionSE>className例外クラスの名前。
要素の詳細
className
ClassSE<? extends ExceptionSE> className
例外クラスの名前。- 戻り値:
- 例外クラスの名前
value
StringSE value
例外の WS-AddressingActionメッセージアドレス指定プロパティの値。- 戻り値:
- 例外の WS-Addressing
Actionメッセージアドレス指定プロパティ
- デフォルト:
- ""