在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>
在尝试映射时,我将按照以下步骤进行操作:
Employee-> NewObject
ExternalIdList-> ExternalEmployeeList
ExternalId-> ExternalEmployee
ExternalId-> ExternalId
在测试映射时,将创建3个ExternalEmployee节点,但只有第一个节点在ExternalId中包含值'aaa'。其他2个ExternalEmployees没有获得ExternalId:
<Newobject>
<ExternalEmployeeList>
<ExternalEmployee>
<ExternalId>aaa</ExternalId>
</ExternalEmployee>
<ExternalEmployee/>
<ExternalEmployee/>
</ExternalEmployee>
</ExternalEmployeeList>
</Newobject>
我已经尝试了很多节点功能或更改了上下文,但是似乎没有任何效果。推荐的解决方案是什么?
也许可以预先添加XSLT映射,以便在输入消息中的ExternalIdList和ExternalId之间插入一个级别?对此似乎很模糊。
预先感谢,欢迎向正确方向提出的每一个提示!