faultName属性とmessage属性の使用

BPEL 1.1では、次の例のスキーマ定義に示すように、bpelx:postAssert要素のfaultName属性およびmessage属性を指定できます。

<invoke | receive | onMessage>
    standard-elements
    <bpelx:postAssert name="ncname"? expression="boolean-expr" faultName="QName"+
 message="generic-expr"+/> *
</invoke | receive | onMessage>

次の例に、faultname属性とmessage属性の構文を示します。

<bpelx:postAssert name="Assert_2"
   message='multiple post assert Greater value fired'
   faultName="ns2:GreaterValue"
  expression="bpws:getVariableData('invar','payload','/ns1:process/ns1:input') <
 500"/>

faultName属性の指定がない場合、フォルトはbpelx:postAssertFailureにデフォルト設定されます。message属性の指定がない場合、メッセージ値はアクティビティの名前にデフォルト設定されます。

<bpelx:postAssert expression="boolean-expr" />

アサーション条件がfalseと評価されるたびに、指定のフォルトがスローされます。分析は、パートナWSDL portTypeに定義されているフォルトに正しく変換できるように、faultName QNameに対して実行されます。メッセージ式は、任意のXPath値のタイプ(string、numberまたはboolean)に評価できる一般的な式です。文字列でない値が返された場合は、値の文字列評価が使用されます。