Spec-Zone .ru
спецификации, руководства, описания, API


javax.xml.ws
Тип аннотации FaultAction


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

FaultAction аннотация используется в Action аннотация, чтобы разрешить явную ассоциацию Адресации WS Action свойство адресации сообщения с fault сообщения работы WSDL, отображенной от исключения class.

wsam:Action значение атрибута в fault сообщение в сгенерированной работе WSDL, отображенной для className class равен соответствующему значению в FaultAction. Для точного вычисления wsam:Action значения для сообщений отказа, обратитесь к алгоритму в спецификации JAX-WS.

Пример 1: Определите явные значения для Action свойство адресации сообщения для input, output и fault обменивайтесь сообщениями, если метод Java бросает только одну службу определенное исключение.

 @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: Вот пример, который показывает, как определить явные значения для Action свойство адресации сообщения, если метод Java бросает больше чем одну службу определенное исключение.

 @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>
 

С тех пор:
JAX-WS 2.1

Необходимая Сводка Элемента
 java.lang.Class<? extends java.lang.Exception> имя класса
          Имя исключения class
 
Дополнительная Сводка Элемента
 java.lang.String значение
          Значение Адресации WS Action свойство адресации сообщения для исключения
 

Деталь элемента

имя класса

public abstract java.lang.Class<? extends java.lang.Exception> className
Имя исключения class

значение

public abstract java.lang.String value
Значение Адресации WS Action свойство адресации сообщения для исключения

Значение по умолчанию:
""


Представьте ошибку или функцию

Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается срокам действия лицензии.

Сгенерированный на 10-February-2011 12:41

free hit counter