IIB/ESQL: 如何测试 UUID 是否有效,如果无效则生成一个

IIB/ESQL: How to test if UUID is valid, if not generate one

我在 IBM Integration Bus 中有一个消息流。

我有一些指定 UUID 的输入,我想测试该 UUID 是否有效,如果无效,我想生成一个。

下游如果我调用类似 UUIDASCHAR 的东西,我会得到一个 BIP2582 异常(无效的 UUID)。

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

谢谢

您可以将有效性检查和 UUID 生成放在 2 个不同的 ESQL 文件中。你的第一个ESQL应该正常调用UUIDASCHAR,并且它的计算节点的Failure终端应该连接到第二个ESQL的计算节点,它会生成一个新的UUID。