'message cannot be resolved or is not a field' Talend ESB 的 tMomOutput 错误
'message cannot be resolved or is not a field' error in tMomOutput of Talend ESB
我正在使用 tMomOutput 组件 Talend ESB open studio 插入 XML 消息 到 Apache Active MQ。
- 使用 XMLMap 组件创建 XML 文档。
- 使用 tConvertType 组件将 XML 文档转换为字符串。
- 使用 tMomOutput 组件将字符串消息从 tConvertType 发送到 Active MQ 队列。
在 tMomOutput 组件中出现以下编译错误。
org.talend.designer.runprocess.ProcessorException: Job compile errors
At least job "MQJobDemo" has a compile errors, please fix and export again.
Error Line: 1238
Detail Message: message cannot be resolved or is not a field
在没有任何工作快照或工作流程描述的情况下,我将根据我的个人经验推断此问题的原因。
当您尝试引用不属于作业的 "active" 部分的某些输入流或变量时,就会发生这种情况。例如。考虑以下流程:
tOracleInput -- Main1 -> tMap -- Main2 -> tOracleOutput
这里Main1和Main2分别是输入流和输出流。现在,如果 Main1 重命名为 "message",则将任何传入字段(例如 ID)引用为 message.ID 都可以正常工作。但是,如果您尝试在 tMap 中引用与 messag.ID 相同的字段,您将收到错误消息:消息无法解析或不是字段。这是因为 "messag" 没有引用任何实体。
所以我的建议是检查您使用该引用变量的作业的所有实例,以及该特定引用变量是否在任何地方都可用。
根据您的情况,它给您错误,因为您没有将任何字段映射到输入组件的 tMOMOutput
。将 tMap
放在 tConvertType
和 tMomOutput 之间。
你也可以用其他方式,添加tMap
组件,同时将XML文档映射到tMomOuput
,输出端变量为string
。那么你就不必专门使用 tConvertType
。
我正在使用 tMomOutput 组件 Talend ESB open studio 插入 XML 消息 到 Apache Active MQ。
- 使用 XMLMap 组件创建 XML 文档。
- 使用 tConvertType 组件将 XML 文档转换为字符串。
- 使用 tMomOutput 组件将字符串消息从 tConvertType 发送到 Active MQ 队列。
在 tMomOutput 组件中出现以下编译错误。
org.talend.designer.runprocess.ProcessorException: Job compile errors
At least job "MQJobDemo" has a compile errors, please fix and export again.
Error Line: 1238
Detail Message: message cannot be resolved or is not a field
在没有任何工作快照或工作流程描述的情况下,我将根据我的个人经验推断此问题的原因。
当您尝试引用不属于作业的 "active" 部分的某些输入流或变量时,就会发生这种情况。例如。考虑以下流程:
tOracleInput -- Main1 -> tMap -- Main2 -> tOracleOutput
这里Main1和Main2分别是输入流和输出流。现在,如果 Main1 重命名为 "message",则将任何传入字段(例如 ID)引用为 message.ID 都可以正常工作。但是,如果您尝试在 tMap 中引用与 messag.ID 相同的字段,您将收到错误消息:消息无法解析或不是字段。这是因为 "messag" 没有引用任何实体。
所以我的建议是检查您使用该引用变量的作业的所有实例,以及该特定引用变量是否在任何地方都可用。
根据您的情况,它给您错误,因为您没有将任何字段映射到输入组件的 tMOMOutput
。将 tMap
放在 tConvertType
和 tMomOutput 之间。
你也可以用其他方式,添加tMap
组件,同时将XML文档映射到tMomOuput
,输出端变量为string
。那么你就不必专门使用 tConvertType
。