为什么在IIB Mapping Node中进行条件化会使响应XML无效?

时间:2017-05-31 21:12:33

标签: xml xsd mapper ibm-integration-bus extended-sql

我一直在请求的布尔属性If上的IIB Mapping节点中使用Flag条件,该属性在响应中映射到messageA属性。如果Flag评估为true,则完成分配。

还有另一个For Each执行列表的深层副本,并且如果messageA被评估为Flag,则还会为同一变量false分配一些值。

以下是Mapper Logic:

ESQL Mapper

如果Flagfalse,则上述逻辑会生成有效的XML,但如果true成功分配值,则会通过附加方式使XSD中定义的响应无效messageA属性作为响应XML的最后一个子项。

如何处理第二种情况?考虑后面的节点中没有自定义的ESQL逻辑。

1 个答案:

答案 0 :(得分:1)

在指定位置创建标记,当mapper中没有有效值并通过ESQL覆盖它时,它不会在您期望的位置创建。

要避免这种情况,请使用在Create函数中构建的映射器。

这将保留元素的空间,当你填充它的值时,这将是预期的位置,并且模式也将被验证