我在IBM Integration Bus中有一个消息流。
我有一些指定UUID的输入,我想测试该UUID是否有效,如果不是,我想生成一个。
下游,如果我调用类似UUIDASCHAR的内容,我会收到(无效UUID)的BIP2582异常。
DECLARE myUuid BLOB InputRoot.XMLNSC.someUUID
SET someUuidChar = UUIDASCHAR(myUuid); -- This throws exception if myUuid is invalid
我不确定如何在esql中解决这个问题,这是我正在寻找的逻辑类型:
if (is_valid(uuid)) then
set output_uuid = uuid
else
set output_uuid = generated_uuid
end if
由于
答案 0 :(得分:3)
您可以将有效性检查和UUID生成放在2个不同的ESQL文件中。您的第一个ESQL应该正常调用UUIDASCHAR,其计算节点的Failure终端应该连接到第二个ESQL的计算节点,这将生成一个新的UUID。