← Back to list

DataWeave Scripts on Namespaces

Lets’s write a Dataweave script that generates a SOAP XML request envelope from a JSON input.

BinaryBytesCareers · 2026-07-08 08:40 · 0 claps · 0.5 min read
#mulesoft #mulesoft-training #dataweave #mulesoft-integration #dataweave-practice
Open on Medium ↗
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