Method signature not recognized by EL expressions

Hello.

If I have a Jackson ObjectNode with get(String) and get(int), I’m induced to write something like this in a juel expression in the modeler:

${json.get(“dataArray”).get(1).get(“name”).asText()}

The json:
{ “dataArray” : [ { “name”: “Mark”}, {“name”: “Lucy”} ] }

When the process gets executed I have an error that says something like that:
Cannot coerce String to Integer when calling get()

I sense that EL does not recognize the different method signatures.

I was stuck with that while I was developing a custom service, and as a workaround I changed method names, but right now I have to use standard Jackson libraries and the problem persists, and furthermore I can’t change those third party method names.

That’s a known issue, see https://app.camunda.com/jira/browse/CAM-4063.

As for workarounds: Can you switch from EL to a scripting language?

I can use scripting language where possible. But that’s not possible inside the ‘Delegate’ field of services task or the arrow conditions for a xor gateway.

I’m forced to prepend scripting snippets before a xor gateway to store a usable variable inside a el expression after.