【发布时间】:2018-05-31 20:32:38
【问题描述】:
我有一个 SOAP 节点,它从树结构中的 URL 检索信息。
然后我有一个计算节点来定义每个环境变量到 SOAP 检索的每个命名空间变量。
最后,我有一个映射节点,可以将内容移动到我的 XML 消息组装结构中。
它给我的错误是这个(在计算节点中):
我有这样的结构:
列表文档
Description
DocType
ListTypes
Attribute
Lenght
Description
Nature
Required
列表文档
Description
DocType
ListTypes
Attribute
Lenght
Description
Nature
Required
列表文档
Description
DocType
ListTypes
Attribute
Lenght
Description
Nature
Required
问题是,当我定义变量时,我会像下面的代码一样在 COMPUTE NODE 中进行:
WHILE I < InputRoot.SOAP.Body.ns:obterTiposDocProcessosResponse.ns:return.ns75:processo.ns75:listaTiposDocumentos
DO
SET Environment.Variables.XMLMessage.return.process.listDocs.description = InputRoot.SOAP.Body.ns75:processo.ns75:listDocs.ns75:description;
SET Environment.Variables.XMLMessage.return.process.listDocs.tipoDocumento = InputRoot.SOAP.Body.ns75:processo.ns75:listDocs.ns75:DocType;
SET Environment.Variables.XMLMessage.return.process.listDocs.listTypes.attribute = InputRoot.SOAP.Body.ns75:processo.ns75:listDocs.ns75:listTypes.ns75:atribbute;
SET Environment.Variables.XMLMessage.return.process.listDocs.listTypes.lenght = InputRoot.SOAP.Body.ns75:processo.ns75:listDocs.ns75:listTypes.ns75:lenght;
SET Environment.Variables.XMLMessage.return.process.listDocs.listTypes.description = InputRoot.SOAP.Body.ns75:processo.ns75:listDocs.ns75:listTypes.ns75:description;
SET Environment.Variables.XMLMessage.return.process.listDocs.listTypes.nature = InputRoot.SOAP.Body.ns75:processo.ns75:listDocs.ns75:listTypes.ns75:nature;
SET Environment.Variables.XMLMessage.return.process.listDocs.listTypes.required = InputRoot.SOAP.Body.ns75:processo.ns75:listDocs.ns75:listTypes.ns75:required;
SET I = I+1;
END WHILE;
但是,在我的 XML 最终结构中,它只打印我的第一个 listDocs 的值,我想打印我所有的 listDocs 结构。
注意:在这样的情况下,它甚至不起作用。我必须删除 WHILE 才能打印第一个 listDocs 就像我上面说的那样。
有什么帮助吗?
我需要一段时间来循环结构。
【问题讨论】:
-
@JohnathanLeffler 感谢您再次删除标签 [esql],我在之前的编辑中将其替换为 [extended-sql] 标签,但没有注意到 OP 将其添加回来。程序员大师,正如标签 wiki 所说的“不要使用这个标签,因为它是模棱两可的”。请不要问这个问题,因为标签 [extended-sql] 是特定于 IIB 使用的“ESQL”的。
标签: mapping ibm-integration-bus extended-sql