パッケージ jakarta.xml.ws

アノテーション型 Action


  • @DocumentedSE
    @RetentionSE(RUNTIMESE)
    @TargetSE(METHODSE)
    public @interface Action
    Action アノテーションを使用すると、WS-Addressing Action メッセージアドレス指定プロパティをマップされた WSDL 操作の inputoutputfault メッセージに明示的に関連付けることができます。

    このアノテーションは、サービスエンドポイントインターフェースの各メソッドで指定できます。このような方法の場合、WSDL operation の WSDL inputoutputfault メッセージで生成された WSDL の wsam:Action 属性でマップされた操作は、Action アノテーションのどの属性が指定されているかに基づいています。メッセージの wsam:Action 値の正確な計算については、Jakarta XML Web Services 仕様のアルゴリズムを参照してください。

    例 1input および output メッセージの Action メッセージアドレス指定プロパティに明示的な値を指定します。

     @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;
          }
      }
     
    生成された WSDL は次のようになります。
     
       <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>
     
     

    例 2input メッセージのみの Action メッセージアドレス指定プロパティに明示的な値を指定します。WSDL output メッセージの wsam:Action 値は、Jakarta XML Web Services 仕様のアルゴリズムを使用して計算されます。

     @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;
          }
      }
     
    生成された WSDL は次のようになります。
     
       <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>
     
    output メッセージのみの Action メッセージアドレス指定プロパティに明示的な値を指定することは正当です。この場合、WSDL input メッセージの wsam:Action 値は、Jakarta XML Web Services 仕様のアルゴリズムを使用して計算されます。

    例 3fault メッセージの Action メッセージアドレス指定プロパティに明示的な値を指定する方法の例については、FaultAction アノテーションを参照してください。

    導入:
    1.6、JAX-WS 2.1
    関連事項:
    FaultAction
    • オプション要素のサマリー

      オプション要素  
      修飾子と型 オプションの要素 説明
      FaultAction[]fault
      操作の fault メッセージの WS-Addressing Action メッセージアドレス指定プロパティの明示的な値。
      StringSEinput
      操作の input メッセージの WS-Addressing Action メッセージアドレス指定プロパティの明示的な値。
      StringSEoutput
      操作の output メッセージの WS-Addressing Action メッセージアドレス指定プロパティの明示的な値。
    • 要素の詳細

      • input

        StringSE input
        操作の input メッセージの WS-Addressing Action メッセージアドレス指定プロパティの明示的な値。
        戻り値:
         input メッセージの Action メッセージアドレス指定プロパティ
        デフォルト:
        ""
      • output

        StringSE output
        操作の output メッセージの WS-Addressing Action メッセージアドレス指定プロパティの明示的な値。
        戻り値:
         output メッセージの Action メッセージアドレス指定プロパティ
        デフォルト:
        ""
      • fault

        FaultAction[] fault
        操作の fault メッセージの WS-Addressing Action メッセージアドレス指定プロパティの明示的な値。障害にマップされ、明示的な WS-Addressing Action メッセージアドレス指定プロパティを必要とする各例外は、FaultAction アノテーションを使用してこのプロパティの値として指定する必要があります。
        戻り値:
         fault メッセージの Action メッセージアドレス指定プロパティ
        デフォルト:
        {}