如何解决尝试在文档没有根目录时写入 END_DOCUMENT即尝试输出空文档,同时在 \n1| %dw 2.0 处写入 Xml\n
当我使用提到的内容时,我看到类似“当文档没有 root 时尝试写入 END_DOCUMENT”这样的错误
脚本:
%dw 2.0
output application/xml
ns ns0 urn:astrazeneca:na:Activity:domain:3
---
payload.ns0#Interactions.ns0#Interaction.ns0#InteractionId.ns0#ID
输入:
<Interactions>
<Interaction>
<InteractionId>
<ID SystemCode="VNA">a044U00002GXVN1QAP</ID>
</InteractionId>
<InteractionDetails ></InteractionDetails>
<Activity CreatedOnDate="2021-01-04T18:13:15">
<ActivityId>
<ns2:ID SystemCode="VNA">a084U00001dFR7aQAG</ns2:ID>
</ActivityId>
</Activity>
</Interaction>
</Interactions>
解决方法
缺少信息并且示例输入与脚本不匹配,但看起来脚本试图以 XML 格式输出单个值(“a044U00002GXVN1QAP”)。这是无效的,因为字符串不是有效的 XML。您需要在输出中定义一个根元素,以便它可以生成有效的 XML。
示例(为简单起见删除命名空间):
%dw 2.0
output application/xml
---
{ someRoot: payload.Interactions.Interaction.InteractionId.ID }
输出:
<?xml version='1.0' encoding='UTF-8'?>
<someRoot>a044U00002GXVN1QAP</someRoot>
如果您只是想输出该 id 以便稍后在流程中处理,只需将输出更改为 application/java
,这样它就不需要根元素并且效率更高,避免了额外的 XML格式化/解析。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。