0

每当出现异常时,我们都会使用 cloudhub 通知来接收邮件警报。我们将 XML 有效负载作为电子邮件的一部分。我们正在收到邮件,但缺少 XML 标签。

配置

<cloudhub:create-notification   domain="${mule.cloudhub.domain}"
          config-ref="Cloudhub" message="#[payload]"
          priority="ERROR"      doc:name="Cloudhub"/>

预期

<books>
  <book>
    <title>title1</title>
    <price>price1</price>
  </book>
 </books>

实际

  title1 price1
4

2 回答 2

0

这只是我所做的一种解决方法。不确定它是否是正确的方法,但它对我有用。添加

&lt;expression-component doc:name="Expression"&gt;&lt;![CDATA[payload=payload.replace('>','&#38;gt;');
    payload=payload.replace('<','&#38;lt;');]]>&lt;/expression-component &gt;

在 cloudhub 连接器之前更改有效负载,以便xml应用转义字符

于 2018-03-15T10:51:55.340 回答
0

尝试在 Chrome 和 IE 中打开 XML 文件时,我遇到了类似的问题。我发现如果 XML 文件太大(例如 37 兆),文件会打开,但 XML 标记会丢失。它只会显示标签内的数据。例如,我希望它在浏览器中看起来像这样:

<ns0:quality>17</ns0:quality>
<ns0:duration>900</ns0:duration>

但是,它会显示为

17900

在浏览器中。解决方案是减小 XML 文件的大小,然后出现标签。(另外,我已经看到如果计算机内存不足会发生这种情况,这可以通过重新启动来解决。)

于 2019-12-05T23:12:03.703 回答