I have an old message flow which produce a big simple XML message as follow:
Flow_1:
MQINPUT-->MQSI_NODES_1-->MQOUTPUT
The message in the Output queue is like: <message>big.......message</message>.
The current application MQGET the message, simply strip off the XML tag and process the content (big....message).
Now customer wants to use MQSI to process the big...message instead. A MRM definition was prepared for "big...message".
A separate flow was developed as follow:
Flow_2
MQINPUT(MRM)-->MQSI_nodes_2-->MQOUTPUT
The message pick up by the MQINPUT node is just the "big...message" without the XML tag
(<message> & </message>). This flow was tested OK by itself and produced the desired output in the Output queue.
They thought they can combine the two flows by making Flow_2 a sub-flow.
The replace the MQINPUT and MQOUTPUT of Flow_2 by InputTerminal and OutputTerminal and call it Sub_flow_2.
They then insert sub_flow_2 into Flow_1 :
MQINPUT-->MQSI_NODES_2-->Sub_flow_2-->MQOUTPUT
and think that the new flow will produce the same output as Flow_2
From the surface, this seems logical.But the new flow fails.
I think one reason for the failure is they miss the fact that the message tree just before MQOUTPUT of Flow_1 is built by the XML parser (with a single element, big...message) where as the Flow_2 is working with the tree built by MRM parser with many fields elements. Please correct me if I am wrong.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum