%dw 2.0
import * from dw::core::Strings
var regExDateTime = /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/
var regExDate = /^\d{4}\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$/
var regExBoolean = /^(true|false)$/
var id= payload.ChangeEventHeader.recordIds[0]
output text/plain
---
id
My DW is somewhat big having some calculation for sake of simplicity I just pasted 4 lines of code only.
In that 4 line itself I am getting below error
Scripting language error on expression '%dw 2.0
import * from dw::core::Strings
var regExDateTime = /\d{4}-[01]\d-[...'. Reason: Unable to resolve reference of payload..
I even tried by defining meta data for payload as like below
var id= payload.ChangeEventHeader.recordIds[0] as String
var id= payload.ChangeEventHeader.recordIds[0] as String default 'axd123'
But nothing helps
You can simplify it. In Mule 4 DataWeave, you usually don’t need input payload application/json. Just use:
%dw 2.0
output application/json
---
{
myRootElement: payload
}
The payload type comes from the message metadata/header (content-type: application/json).