我有一个名为'CW'的动作节点,之后我放置了一个决策节点来检查'CW'是否返回错误....我应该如何编写谓词?
我试过了:
${ wf:errorCode('CW') eq '' }
然后转到Y
${ wf:errorCode('CW') != '' }
然后转到N
虽然它返回空字符串(没有错误),但它总是转到N
。有什么建议吗?谢谢!
答案 0 :(得分:3)
尝试
${not empty wf:errorCode('CW')}
检测失败
答案 1 :(得分:2)
这是检查对我有用的空字符串的唯一方法。
<decision name='decision-action'>
<switch>
<case to='success-action'>${firstNotNull(wf:lastErrorNode(), 'no error') eq 'no error'}</case>
<default to='failed-action' />
</switch>
</decision>
所以,要将这个答案直接与问题联系起来,这个条件
${firstNotNull(wf:errorCode('CW'), 'no error') eq 'no error}
应映射到Y。
答案 2 :(得分:1)
你不能只使用ok和error动作转换吗?
<action name="CW">
<!--
....
-->
<ok to="Y"/>
<error to="N"/>
<\action>
答案 3 :(得分:0)
${ wf:errorCode('CW') == null }
您还可以检查CW是否退出并出现如下错误:
${ wf:lastErrorNode()=='CW' }
CW完成后。
答案 4 :(得分:0)
${ wf:errorCode('CW') eq null } then go to Y
${ wf:errorCode('CW') != null } then go to N
为我工作
答案 5 :(得分:0)
$ {wf:lastErrorNode()eq wf:errorMessage(wf:lastErrorNode())}->将此条件视为成功,当作业失败时,这两个值为空白 $ {wf:lastErrorNode()!= wf:errorMessage(wf:lastErrorNode())}->将此情况视为失败,当作业失败时,这些值不匹配 它对我有用,希望对您有帮助