Studio Eval Step Fails to Deploy With "unterminated literal" From a Semicolon in a String
What does "Failed to deploy - Error thrown when creating handler" mean in Workday Studio?
An Eval step would not compile because one of its string literals contains a semicolon. The MVEL engine Studio uses treats a semicolon as the end of a statement, and it applies that rule even when the semicolon sits inside quotes, so the parser reaches the end of the expression still expecting a closing quote and reports an unterminated literal. The assembly fails at deploy time, not at run time.
Quick fix
Replace the semicolons inside the string with commas or another separator, then redeploy. The expression is otherwise valid and needs no other change.
Permanent fix
Treat the semicolon as unusable inside Eval string literals and standardise on a different separator for any text your assemblies build up, log messages especially. Where you genuinely need a semicolon in output, assemble the text in an XSLT or Groovy step instead of Eval, since those do not share the MVEL parser. Adding one Eval step containing a semicolon to a deployment smoke test will catch a regression here at build time rather than on the next deploy.
Troubleshooting
- Read the expression quoted in the error. The step id (here extract-combo) tells you exactly which Eval component to open.
- Look for a semicolon anywhere inside a quoted string in that expression. It will usually be there as punctuation in a log or message you are building up.
- Confirm the diagnosis by removing just the semicolons and redeploying. If it compiles, the semicolon was the cause and nothing else in the expression is wrong.
- Check the rest of the assembly for the same pattern before you finish. Any other Eval step building a message with semicolon-separated text will fail the same way as soon as it is touched.