IIB / ESQL:如何测试UUID是否有效,如果没有生成

时间:2016-09-08 18:02:21

标签: uuid ibm-integration-bus extended-sql

我在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

由于

1 个答案:

答案 0 :(得分:3)

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