-1

I'm using tMomOutput component of Talend ESB open studio to insert a XML message into Apache Active MQ.

  1. Using XMLMap component to Create XML document.
  2. Using tConvertType component to convert the XML document to string.
  3. Using tMomOutput component to send the string message from tConvertType to Active MQ queue.

It's giving me the following compiling error at tMomOutput component.

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

v_kumar
  • 319
  • 4
  • 15

2 Answers2

1

As per your scenario, it's giving you the error as you're not mapping any field to tMOMOutput from the input component. Put tMap between tConvertType and tMomOutput.

You can also do it other way, add tMap component, while mapping the XML document to tMomOuput take the output side variable as string. Then you won't have to use the tConvertType exclusively.

shubs0007
  • 26
  • 2
0

In the absence of any snapshots of your job or a description of your job flow, I will extrapolate the cause of this issue from my personal experiences.

This happens when you're trying to reference some input flow or variable that is not an "active" part of the job. For eg. consider the below flow:

tOracleInput -- Main1 -> tMap -- Main2 -> tOracleOutput

Here Main1 and Main2 are the input and output flows respectively. Now if Main1 was renamed as "message", then referencing any incoming field (say ID) as message.ID works fine. However, if your try to reference the same field in tMap as messag.ID, you will get the error: messag cannot be resolved or is not a field. This is because "messag" is not referencing to any entity.

So my advise would be to check for all instances with the job where you are using that referencing variable and whether that particular referenced variable is available everywhere or not.