diff --git a/iwf-idl b/iwf-idl index 08e49fc..5a96d62 160000 --- a/iwf-idl +++ b/iwf-idl @@ -1 +1 @@ -Subproject commit 08e49fcf69e59d1df30babc076d1f2b49f07dc82 +Subproject commit 5a96d629c6e337cdc8f363dc52a6965e02a1c0ec diff --git a/src/main/java/io/iworkflow/core/mapper/CommandResultsMapper.java b/src/main/java/io/iworkflow/core/mapper/CommandResultsMapper.java index 4bd4be3..2f98af6 100644 --- a/src/main/java/io/iworkflow/core/mapper/CommandResultsMapper.java +++ b/src/main/java/io/iworkflow/core/mapper/CommandResultsMapper.java @@ -39,8 +39,13 @@ public static CommandResults fromGenerated( objectEncoder)) .collect(Collectors.toList())); } - if(commandResults.getStateStartApiSucceeded() != null) { - builder.waitUntilApiSucceeded(commandResults.getStateStartApiSucceeded()); + + // The server will set stateWaitUntilFailed to true if the waitUntil API failed. + // Hence, flag inversion is needed here to indicate that the waitUntil API + // succeeded. + builder.waitUntilApiSucceeded(true); + if (Boolean.TRUE.equals(commandResults.getStateWaitUntilFailed())) { + builder.waitUntilApiSucceeded(false); } return builder.build(); }