在 SAP PI 7.4 中,我在尝试在消息映射中映射某些东西时遇到了一些困难,这看起来很简单。
输入是这样的。
<Employee>
<ExternalIdList>
<ExternalId>aaa</ExternalId>
<ExternalId>bbb</ExternalId>
<ExternalId>ccc</ExternalId>
</ExternalIdList>
</Employee>
我需要这个映射到以下结构
<Newobject>
<ExternalEmployeeList>
<ExternalEmployee>
<ExternalId>aaa</ExternalId>
</ExternalEmployee>
<ExternalEmployee>
<ExternalId>bbb</ExternalId>
</ExternalEmployee>
<ExternalEmployee>
<ExternalId>ccc</ExternalId>
</ExternalEmployee>
</ExternalEmployeeList>
</Newobject>
尝试映射时,我会这样做:
员工 -> 新对象
ExternalIdList -> ExternalEmployeeList
ExternalId -> ExternalEmployee
外部标识 -> 外部标识
测试映射时,创建了 3 个 ExternalEmployee 节点,但只有第一个节点在 ExternalId 中包含值“aaa”。其他 2 个 ExternalEmployee 没有得到 ExternalId:
<Newobject>
<ExternalEmployeeList>
<ExternalEmployee>
<ExternalId>aaa</ExternalId>
</ExternalEmployee>
<ExternalEmployee/>
<ExternalEmployee/>
</ExternalEmployee>
</ExternalEmployeeList>
</Newobject>
我已经尝试了相当多的节点功能或更改了上下文,但似乎没有任何效果。推荐的解决方案是什么?
也许事先添加一个 XSLT 映射以在输入消息中的 ExternalIdList 和 ExternalId 之间插入一个级别?这似乎有很多绒毛。
在此先感谢,欢迎每一个正确方向的提示!