Author |
Message
|
KimT |
Posted: Fri May 07, 2004 5:05 am Post subject: Reformatted message not passing thru flow |
|
|
Novice
Joined: 07 May 2004 Posts: 17 Location: Hartford, CT
|
I needed to remove some tags from a msg prior to processing the business msg.
I am able to remove the extra tags using
SET "OutputRoot"."BLOB"."BLOB" = SUBSTRING (BHOLD FROM CAST(Environment.Variables.TAGPOSITION AS INT));
However the message body does not pass thru my flow. Do I need to set another area with the reformatted message?
A trace using $Body shows the reformatted message.
Any suggestions will be appreciated.
thanx, |
|
Back to top |
|
 |
KimT |
Posted: Fri May 07, 2004 5:35 am Post subject: update |
|
|
Novice
Joined: 07 May 2004 Posts: 17 Location: Hartford, CT
|
If I use an mqoutput node instead of an output terminal. And change the next flow to use an mqinput node instead of an input terminal then the message passes thru.
A trace with Root is identical for both processes.
Am I passing the message correctly or do I need to move it somewhere before going to an output terminal?
 |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri May 07, 2004 5:51 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Do you have a ResetContentDescriptor node in your flow?
Typically, where you need to extract a "submessage" from the MQ message and parse that with MRM, this is what the flow looks like:
MQInput-->ComputeNode-->ResetContentDescriptorNode-->(rest of flow)
The ResetContentDescriptor node is configured for the MRM message.
You can't just do this:
MQInput-->ComputeNode-->(rest of flow), because you haven't told WMQI to parse the data as the MRM message. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
KimT |
Posted: Fri May 07, 2004 6:09 am Post subject: |
|
|
Novice
Joined: 07 May 2004 Posts: 17 Location: Hartford, CT
|
I have input terminal node => compute node (blob) => reset content descriptor to xml => output terminal node
when I run a trace before the output terminal node I can see my reformatted msg;
If I change the flow to use an mqoutput node then the msg processes.
Do I need to set something else in a node? Advance tab is set to local environment and message.
thanx,
 |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri May 07, 2004 6:19 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
So a trace node before your output node shows the properly formatted message in ${Body}.
And in a main flow, if you build
MQInput-->SubFlow-->trace-->MQOutput
What do you see in the trace, and what do you see on the queue? (they should be the same...) _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
KimT |
Posted: Fri May 07, 2004 6:33 am Post subject: |
|
|
Novice
Joined: 07 May 2004 Posts: 17 Location: Hartford, CT
|
That's the problem nothing comes thru to the mainflow. No errors are encountered, nothing.
I've traces going out and coming in. Nothing comes in to the next subflow.
If I run the trace before leaving whether I use an output terminal or mqoutput all is the same in the traces. But only the mqoutput one goes to the next flow (I made 2 msgflows when using the mqoutput node).
It is like a logical message is changing but the physical msg does not pass thru.
Any other ideas?
 |
|
Back to top |
|
 |
KimT |
Posted: Fri May 07, 2004 9:13 am Post subject: fixed the problem |
|
|
Novice
Joined: 07 May 2004 Posts: 17 Location: Hartford, CT
|
Just a heads up. I had a subflow calling a subflow call another subflow. The first subflow registered as having one output terminal. The 3rd subflow had an output terminal but no way to continue back from the 1st subflow. So my result was never connected to the main msgflow.
I put all the subflows under one subflow and then there were 2 output terminals registered for the one subflow to connect to the rest of the main flow.
Thanx!!!!!!  |
|
Back to top |
|
 |
|