【发布时间】:2021-03-07 07:38:22
【问题描述】:
我正在尝试创建一个自定义 Dataweave 模块来集中我的自定义 XML 命名空间。
我关注了Mulesoft的官方文档:https://docs.mulesoft.com/mule-runtime/4.3/dataweave-create-module
它声明:“当您将自定义模块导入另一个 DataWeave 脚本时,该模块中定义的任何函数、变量、类型和命名空间都可以在 DataWeave 主体中使用”。
所以我期待我可以创建一个包含我的命名空间的模块(在模块文件夹中),如下所示:Namespaces.dwl
ns myNs1 http://namespaces/my1
ns myNs2 http://namespaces/my2
像这样在另一个 Dataweave 中导入该模块:
%dw 2.0
import * from modules::Namespaces
output application/java
---
{
body: {
myNs1#Response: {
outcome: 'ACCEPTED'
}
} write "application/xml"
}
但我得到了这个错误:
前缀 myNs1 之前没有使用 ns 声明过
我在 Mule 4.3.0 上运行
【问题讨论】:
-
它看起来像一个错误或文档不正确。
-
@aled,有什么解决方案吗?你有什么建议吗?或者我应该向 Mulesfot 提出支持案例
-
我看不到任何替代方案。我建议尽可能报告此行为,但包括问题中的详细信息,以便可以复制。