小编sta*_*tar的帖子

如何在Data weaver中检查null条件:Mule

这是我的xml,首先我需要检查'RecordsEntries'不应该是'null',然后RecordEntry不应该null跟随映射代码

<?xml version="1.0" encoding="UTF-8"?>
<Records>
  <storenumber />
  <calculated>false</calculated>
  <subTotal>12</subTotal>
 <RecordsEntries>
   <RecordEntry>
     <deliverycharge>30.0</deliverycharge>
     <entryNumber>8</entryNumber>
     <Value>true</Value>
  </RecordEntry>
  <RecordEntry>
    <deliverycharge>20.0</deliverycharge>
    <entryNumber>7</entryNumber>
    <Value>false</Value>
  </RecordEntry>
</RecordsEntries>
 <RecordsEntries>
    <RecordEntry>
      <deliverycharge>30.0</deliverycharge>
      <entryNumber>8</entryNumber>
      <Value>false</Value>
    </RecordEntry>
 </RecordsEntries>
</Records>
Run Code Online (Sandbox Code Playgroud)

尝试多个场景也使用when条件检查,但某处缺少括号或正确的格式

    orders: {
    order: {
  StoreID: payload.Records.storenumber,
  Total: payload.Records.calculated,
 (( payload.Records.RecordsEntries.*RecordEntry ) map {
    IndividualEntry: {
    Number:$.entryNumber,
    DeliverCharge:$.deliverycharge
    }
  } when ( payload.Records.RecordsEntries != null and payload.Records.RecordsEntries.*RecordEntry !=null))}
}
Run Code Online (Sandbox Code Playgroud)

像失踪一样得到错误).通过在第一个循环内直接检查null条件来尝试其他方式得到了错误,例如"无法将数组强制转换为布尔值".请建议.谢谢.

mule mule-studio mule-el mule-component

4
推荐指数
1
解决办法
1万
查看次数

如何使用MEL(mule)在xml结构有效负载中添加新标签

我是Mule的新手,请指导我如何使用Mule表达式语言(MEL)在XML结构中插入新标签.需要在下面的XML结构中插入B标签

<Test>
<A>table 1</A>
<C>table 3</C>
</Test> 
Run Code Online (Sandbox Code Playgroud)

提前致谢.

mule mule-el

3
推荐指数
1
解决办法
2477
查看次数

如何在响应xml中声明名称空间

我在Data Weaver中做POC.我不确定如何ns0:在整个输出xml中声明命名空间.推荐的链接:https: //developer.mulesoft.com/docs/dataweave(我已经看到了处理带命名空间1.4.3的输入xml的例子,但我正在寻找输出xml).

输入Xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <Records>
      <storenumber>12</storenumber>
      <calculated>false</calculated>
      <subTotal>12</subTotal>
   <Records>
Run Code Online (Sandbox Code Playgroud)

预期输出xml:

<?xml version='1.0' eencoding="UTF-8" standalone="yes"?>
 <ns0:orders 
       xmlns="ns2=urn:test.com:common:v1">
  <ns0:order>
    <ns0:StoreID>12</ns0:StoreID>
    <ns0:Total>false</ns0:Total>
   </ns0:order>
  </ns0:orders>
Run Code Online (Sandbox Code Playgroud)

DataWeaver转换

%dw 1.0
 %output application/xml
 %var baseurl="ns2=urn:test.com:common:v1"
 ---
 orders @(xmlns:baseurl): {
 order: {
  StoreID: payload.Records.storenumber,
  Total: payload.Records.calculated
  }
}
Run Code Online (Sandbox Code Playgroud)

我相信@(xmlns:baseurl)转型是正确的.有没有其他方法来定义它?

mule mule-studio mule-el mule-component dataweave

0
推荐指数
1
解决办法
1697
查看次数

Mule4 中的反向排序

我有一个与 dwl 脚本变量中给出的类似方式的数据。

%dw 2.0
output application/json
var test = { "2022-10-19T10:59:00.000Z":[{"kio":"spotage"}] ,
            "2022-10-17T10:59:00.000Z": [{"kio":"spotage"}] ,
            "2022-10-18T10:59:00.000Z": [{"kio":"spotage"}] 
            }
---
test  orderBy $$
Run Code Online (Sandbox Code Playgroud)

需要按 ASC 顺序按日期格式排序。得到以下响应,这是默认排序DSC。想要扭转它 ASC。尝试-$$过并[-1 to 0]尝试格式化为 LocalDateTime 检查它是否正常工作。

    {
  "2022-10-17T10:59:00.000Z": [
    {
      "kio": "spotage"
    }
  ],
  "2022-10-18T10:59:00.000Z": [
    {
      "kio": "spotage"
    }
  ],
  "2022-10-19T10:59:00.000Z": [
    {
      "kio": "spotage"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

期待回复如下

{
    "2022-10-19T10:59:00.000Z": [
        {
            "kio": "spotage"
        }
    ],
    "2022-10-18T10:59:00.000Z": [
        {
            "kio": "spotage"
        }
    ],
    "2022-10-17T10:59:00.000Z": [
        { …
Run Code Online (Sandbox Code Playgroud)

mule dataweave mule4

0
推荐指数
1
解决办法
122
查看次数

标签 统计

mule ×4

mule-el ×3

dataweave ×2

mule-component ×2

mule-studio ×2

mule4 ×1