Spec-Zone.ru › OpenJDK 8

Тип аннотации Action


@Documented
 @Retention(value=RUNTIME)
 @Target(value=METHOD)
public @interface Action

Аннотация Action позволяет явно связать свойство адресации сообщения WS-Addressing Action с сообщениями input, output, и fault отображённой операции WSDL.

Эта аннотация может быть указана для каждого метода интерфейса точки входа службы. Для такого метода отображаемая операция в сгенерированном WSDL'е wsam:Action атрибута на WSDL input, output и fault сообщениях WSDL operation основана на указанных атрибутах аннотации Action. Для точного вычисления значений wsam:Action для сообщений, обратитесь к алгоритму в спецификации JAX-WS.

Пример 1: Укажите явные значения для свойства адресации сообщения Action для сообщений input и output.

@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"
           wsam:Action="http://example.com/inputAction"/>
         <output message="tns:AddNumbersOutput" name="bar"
           wsam:Action="http://example.com/outputAction"/>
       </operation>
     </portType>
     ...
   </definitions>

Пример 2: Укажите явное значение для свойства адресации сообщения Action только для сообщения input. Значения wsam:Action для WSDL output сообщения вычисляются с помощью алгоритма в спецификации JAX-WS.

@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"
           wsam:Action="http://example.com/inputAction" />
         <output message="tns:AddNumbersOutput" name="bar"
           wsam:Action="http://example.com/numbers/AddNumbersPortType/AddNumbersResponse"/>
       </operation>
     </portType>
     ...
   </definitions>
Разрешается указать явное значение для свойства адресации сообщения Action для сообщения output только. В этом случае значение wsam:Action для WSDL input сообщения вычисляется с помощью алгоритма в спецификации JAX-WS.

Пример 3: См. аннотацию FaultAction для примера того, как указать явное значение для свойства адресации сообщения Action для сообщения fault.

С момента:
JAX-WS 2.1
См. также:
FaultAction

Дополнительные элементы

Модификатор и тип Дополнительный элемент и описание
FaultAction[] fault

Явное значение свойства адресации сообщения WS-Addressing Action для сообщения(ов) fault операции.

String input

Явное значение свойства адресации сообщения WS-Addressing Action для сообщения input операции.

String output

Явное значение свойства адресации сообщения WS-Addressing Action для сообщения output операции.

Элементы

input

public abstract String input

Явное значение свойства адресации сообщения WS-Addressing Action для сообщения input операции.

По умолчанию:
""

output

public abstract String output

Явное значение свойства адресации сообщения WS-Addressing Action для сообщения output операции.

По умолчанию:
""

fault

public abstract FaultAction[] fault

Явное значение свойства адресации сообщения WS-Addressing Action для сообщения(ов) fault операции. Каждое исключение, которое отображается в ошибку и требует явного свойства адресации сообщения WS-Addressing Action, должно быть указано как значение в этом свойстве с помощью аннотации FaultAction.

По умолчанию:
{}

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API