«Сообщение не может быть разрешено или не является полем» ошибка в tMomOutput Talend ESB - PullRequest
0 голосов
/ 08 июня 2018

Я использую tMomOutput компонент Talend ESB open studio, чтобы вставить XML-сообщение в Apache Active MQ .

  1. Использование компонента XMLMap для создания XML-документа.
  2. Использование компонента tConvertType для преобразования XML-документа в строку.
  3. Использование компонента 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

Ответы [ 2 ]

0 голосов
/ 03 ноября 2018

В соответствии с вашим сценарием, он дает вам ошибку, поскольку вы не отображаете какое-либо поле на tMOMOutput из компонента ввода.Поместите tMap между tConvertType и tMomOutput.

Вы также можете сделать это другим способом, добавив tMap компонент, при сопоставлении документа XML с tMomOuput, принимая переменную выходной стороны как string.Тогда вам не придется использовать tConvertType исключительно.

0 голосов
/ 13 июня 2018

В отсутствие каких-либо снимков вашей работы или описания вашей работы, я экстраполирую причину этой проблемы из моего личного опыта.

Это происходит, когда вы пытаетесь сослаться на какой-либо входпоток или переменная, которая не является «активной» частью задания.Например,рассмотрим следующий поток:

tOracleInput - Main1 -> tMap - Main2 -> tOracleOutput

Здесь Main1 и Main2 - входной и выходной потоки соответственно.Теперь, если Main1 был переименован как «message», тогда ссылка на любое входящее поле (скажем, ID) как message.ID работает нормально.Однако, если вы попытаетесь сослаться на то же поле в tMap, что и messag.ID, вы получите ошибку: сообщение не может быть разрешено или не является полем.Это потому, что «messag» не ссылается ни на какую сущность.

Поэтому я бы посоветовал проверить все экземпляры задания, в котором вы используете эту ссылочную переменную, и узнать, доступна ли эта конкретная ссылочная переменная везде или нет..

...