DataWeave Scripts on Namespaces
Lets’s write a Dataweave script that generates a SOAP XML request envelope from a JSON input.
Wiki topics:
🔭 · Astronomy & Space
DataWeave Scripts on Namespaces
Lets’s write a Dataweave script that generates a SOAP XML request envelope from a JSON input.
This is Input:
{
"accountNumber": "Acc-001",
"requestType": "Balance-Enquiry",
"requestedBy": "user@bank.com"
}
Output a valid SOAP 1.2 envelope with a GetAccountBalance operation, proper namespace declarations and the fields mapped into the SOAP body.
<?xml version='1.0' encoding='UTF-8'?>
<soap12:Envelope xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<bank:Header xmlns:bank="http://www.example.com/banking/services/v1">
<bank:RequestMetadata>
<bank:RequestId>536f3018-57e6-4892-a6dc-c03405534a3a</bank:RequestId>
<bank:RequestedBy>user@bank.com</bank:RequestedBy>
<bank:TimeStamp>2026-07-08T08.32.30.642Z</bank:TimeStamp>
<bank:RequestType>Balance-Enquiry</bank:RequestType>
</bank:RequestMetadata>
</bank:Header>
<soap12:Body>
<bank:GetAccountBalance xmlns:bank="http://www.example.com/banking/services/v1">
<bank:GetAccountNumber>Acc-001</bank:GetAccountNumber>
</bank:GetAccountBalance>
</soap12:Body>
</soap12:Envelope>
Here’s the DataWeave script:
%dw 2.0
output application/xml
ns soap12 http://www.w3.org/2003/05/soap-envelope
ns bank http://www.example.com/banking/services/v1
---
soap12#Envelope :{
bank#Header:{
bank#RequestMetadata:{
bank#RequestId: uuid(),
bank#RequestedBy: payload.requestedBy,
bank#TimeStamp: now() as String {format : "yyyy-MM-dd'T'HH.mm.ss.SSS'Z'"},
bank#RequestType: payload.requestType
}
},
soap12#Body:{
bank#GetAccountBalance:{
bank#GetAccountNumber:payload.accountNumber
}
}
} 메타데이터
- post_id
- f7aba667f3ce
- slug
- dataweave-scripts-on-namespaces-f7aba667f3ce
- url
- https://medium.com/@binarybytescareers/dataweave-scripts-on-namespaces-f7aba667f3ce
- canonical_url
- https://medium.com/@binarybytescareers/dataweave-scripts-on-namespaces-f7aba667f3ce
- author_url
- https://medium.com/@binarybytescareers
- status
- ok
- fetched_at
- 2026-07-13 13:22:32