Элемент BPEL <switch>не поддерживается. - PullRequest
1 голос
/ 15 декабря 2011

При попытке использовать элемент <switch> в BPEL появляется следующая ошибка.

BPEL element in namespace 
"http://docs.oasis-open.org/wsbpel/2.0/process/executable" 
is not supported by this implementation.

Мне нужно использовать что-то еще вместо этого? Был ли он удален из BPEL?

1 Ответ

2 голосов
/ 15 декабря 2011

<switch> был частью BPEL 1.1 и был удален в BPEL 2.0. Замена - это действие <if>, которое можно использовать следующим образом:

<if xmlns:inventory="http://supply-chain.org/inventory" xmlns:FLT="http://example.com/faults">
  <condition>
    bpel:getVariableProperty('stockResult','inventory:level') > 100
  </condition>
  <flow>
    <!-- perform fulfillment work -->
  </flow>
  <elseif>
    <condition>
      bpel:getVariableProperty('stockResult','inventory:level') >= 0
    </condition>
    <throw faultName="FLT:OutOfStock" variable="RestockEstimate" />
  </elseif>
  <else>
    <throw faultName="FLT:ItemDiscontinued" />
  </else>
</if>

(фрагмент заимствован из спецификации BPEL 2.0)

...