为什么 IIB 映射节点中的条件会使响应无效 XML?
Why conditioning in IIB Mapping Node invalidates the response XML?
我一直在 IIB 映射节点中使用 If
条件,请求的布尔属性 Flag
映射到 messageA
属性作为响应。如果 Flag
的计算结果为 true
.
,则完成赋值
还有另一个For Each
,它执行列表的深拷贝,并为同一个变量messageA
赋值,如果Flag
被计算为false
。
下面是映射器逻辑:
如果 Flag
是 false
,上述逻辑会产生有效的 XML,但如果是 true
,它会成功分配值,但是会使定义的响应无效在 XSD 中,通过附加 messageA
属性作为响应 XML.
的最后一个子项
第二种情况如何处理?考虑到后面节点中没有自定义 ESQL 逻辑。
当您在映射器中没有有效值并且您通过 ESQL 覆盖它并且它没有在您期望的位置创建时,在指定位置创建标记。
为避免这种情况,请使用 Create 函数中内置的映射器。
这将为您的元素保留 space,并且当您填充它的值时,这将位于预期的位置,并且架构也会得到验证
我一直在 IIB 映射节点中使用 If
条件,请求的布尔属性 Flag
映射到 messageA
属性作为响应。如果 Flag
的计算结果为 true
.
还有另一个For Each
,它执行列表的深拷贝,并为同一个变量messageA
赋值,如果Flag
被计算为false
。
下面是映射器逻辑:
如果 Flag
是 false
,上述逻辑会产生有效的 XML,但如果是 true
,它会成功分配值,但是会使定义的响应无效在 XSD 中,通过附加 messageA
属性作为响应 XML.
第二种情况如何处理?考虑到后面节点中没有自定义 ESQL 逻辑。
当您在映射器中没有有效值并且您通过 ESQL 覆盖它并且它没有在您期望的位置创建时,在指定位置创建标记。
为避免这种情况,请使用 Create 函数中内置的映射器。
这将为您的元素保留 space,并且当您填充它的值时,这将位于预期的位置,并且架构也会得到验证