2016-09-08 1 views
1

У меня поток сообщений в IBM Integration Bus.IIB/ESQL: как проверить, действительно ли UUID, если не сгенерировать один

У меня есть ввод, который указывает UUID, я хочу проверить, является ли этот UUID действительным, и если это не так, я бы хотел его сгенерировать.

Downstream, если я вызываю что-то вроде 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 

Благодарности

ответ

3

Вы можете поставить чек действия и Генерация UUID в двух разных файлах ESQL. Ваш первый ESQL должен нормально вызывать UUIDASCHAR, а терминал Failure его вычислительного узла должен быть подключен к вычислительному узлу второго ESQL, который генерирует новый UUID.

Смежные вопросы