Обработка событий Oracle BPEL с активностью onEvent и бизнес-событием - PullRequest
1 голос
/ 22 октября 2011

Я пытаюсь использовать расширение bpel для обработки событий в soa suite 11g ps3.Я пытаюсь подписаться на событие из сети доставки событий, но получаю сообщение об ошибке.

Это код:

<eventHandlers>
  <onEvent bpelx:eventName="ns4:discountEvent" variable="discEvent" >
    <scope name="Scope1">
      <sequence name="Sequence1">
        <exit name="Exit1"/>
      </sequence>
    </scope>
  </onEvent>
</eventHandlers>

Компилятор выдает мне следующую ошибку:

Error(52): Activity <bpel:onEvent> must have "element", "messageType" attribute present.

Я не могу найти информацию об использовании расширения в "onEvent".

Любая помощь приветствуется!

Спасибо, Крис

1 Ответ

1 голос
/ 24 октября 2011

Обработчики событий работают немного иначе, чем другие действия взаимодействия. В то время как методы получения, вызова и т. Д. Работают с ранее определенными переменными, обработчик событий определяет свою собственную переменную, которая видна в области дочернего действия onEvent. Для того чтобы придать этой переменной тип, необходимо идентифицировать messageType или элемент, чтобы объявить тип переменной. Вот почему требуется элемент или messageType.

Ниже приведена соответствующая цитата спецификации BPEL 2.0:

Атрибут переменной, если он существует, определяет локальную для обработчика события переменную, которая будет содержать сообщение, полученное от партнера. [SA00087] Атрибут messageType указывает тип переменной, ссылаясь на определение типа сообщения, используя его QName. Тип переменной (как определено атрибутом messageType) ДОЛЖЕН быть таким же, как тип входного сообщения, определенного операцией, на которую ссылается атрибут операции. При желании атрибут messageType может быть опущен, и вместо этого атрибут элемента заменяется, если сообщение, которое будет получено, имеет единственную часть, и эта часть определена с типом элемента. Этот тип элемента ДОЛЖЕН быть точным соответствием типа элемента, на который ссылается атрибут элемента. Атрибуты variable и messageType / element составляют неявное объявление переменной с таким именем и типом в соответствующей области видимости, связанной с обработчиком событий. Если используется атрибут элемента, то связывание входящего сообщения с переменной, объявленной в обработчике событий, происходит так, как указано для действия приема в разделе 10.4. Предоставление операций веб-службы - получение и ответ.

...