ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » propagating both messages with an MQGet node....

Post new topic  Reply to topic
 propagating both messages with an MQGet node.... « View previous topic :: View next topic » 
Author Message
dcapodic
PostPosted: Wed Jun 20, 2007 1:29 pm    Post subject: propagating both messages with an MQGet node.... Reply with quote

Apprentice

Joined: 03 Sep 2003
Posts: 32

Hi....

I am probably missing something obvious but have been stuck on this and actually did read the docs and still can't get it to work

The flow is a bit more complicated but the point I am stuck at seems easy enough. I have an input node to which a message will be written. I need to enhance this message with an input of another message for which I am using an MQGet node to go out and get the message. The issue I am having is that I cannot seem to find the correct parms to set in the MQGet node to have both the original input message and the data coming in from the MQGEt to get propogated downstream. Maybe I am not understanding how the node works but what I was thinking is that I could have the contents of both the original message and the MQGet node's message propagated to a compute node and manipulate the data in there.

Am I correct in what I am trying to do....if so, what could I be missing?

Thanks in advance.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed Jun 20, 2007 1:37 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

You can set the MQGet node about where to insert the data it reads.

You need to adjust the Generate mode, and the Output Data Location.

If you only need a portion of the message from the MQGet, you can also set the Result Data Location.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
dcapodic
PostPosted: Wed Jun 20, 2007 9:00 pm    Post subject: Reply with quote

Apprentice

Joined: 03 Sep 2003
Posts: 32

jefflowrey wrote:
You can set the MQGet node about where to insert the data it reads.

You need to adjust the Generate mode, and the Output Data Location.

If you only need a portion of the message from the MQGet, you can also set the Result Data Location.


Thanks for the reply....however, there in lies my issue I have tried many combinations of the two but can't seem to get both messages populated along....it seems to be either one or the other. I will continue to plug away at it.
Back to top
View user's profile Send private message
dcapodic
PostPosted: Thu Jun 21, 2007 8:45 am    Post subject: Reply with quote

Apprentice

Joined: 03 Sep 2003
Posts: 32

dcapodic wrote:
jefflowrey wrote:
You can set the MQGet node about where to insert the data it reads.

You need to adjust the Generate mode, and the Output Data Location.

If you only need a portion of the message from the MQGet, you can also set the Result Data Location.


Thanks for the reply....however, there in lies my issue I have tried many combinations of the two but can't seem to get both messages populated along....it seems to be either one or the other. I will continue to plug away at it.


Ok, have done that and still cannot get the combination to propagate both the incoming message and the MQGet node message. Anyone have an example I could learn from it would be greatly appreciated! At this point, I am losing hope that what I seek to do can actually be done.

Thanks!
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu Jun 21, 2007 9:18 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Set Generate Mode to Message - the default.

Set Copy Message to Entire Message.

Set OutputDataLocation to something like OutputBody.NewMessage

The result should be the whole Input tree, with the message retrieved from the queue under OutputRoot.[<].NewMessage - which will be the last child of OutputRoot.[<]
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
wbi_telecom
PostPosted: Thu Jun 21, 2007 12:16 pm    Post subject: Reply with quote

Disciple

Joined: 15 Feb 2006
Posts: 188
Location: Harrisburg, PA

You can either save the first input message in Environment folder and then copy the second one in a new tag in the OutputRoot. Or store the first one within one tag of the OutputRoot (like OutputRoot.Original) and store the one from MQGet into another (OutputRoot.Second).
Yous can then write ESQL to consolidate the data and create a new OutputRoot as desired by the target system.


Cheers,
Back to top
View user's profile Send private message
JosephGramig
PostPosted: Thu Jun 21, 2007 12:37 pm    Post subject: Reply with quote

Grand Master

Joined: 09 Feb 2006
Posts: 1244
Location: Gold Coast of Florida, USA

Or you can tell it to put the Result in the LocalEnvironment and the stick it where you like in the next Compute or Map node.
_________________
Joseph
Administrator - IBM WebSphere MQ (WMQ) V6.0, IBM WebSphere Message Broker (WMB) V6.1 & V6.0
Solution Designer - WMQ V6.0
Solution Developer - WMB V6.1 & V6.0, WMQ V5.3
Back to top
View user's profile Send private message AIM Address
dcapodic
PostPosted: Thu Jun 21, 2007 8:23 pm    Post subject: Reply with quote

Apprentice

Joined: 03 Sep 2003
Posts: 32

jefflowrey wrote:
Set Generate Mode to Message - the default.

Set Copy Message to Entire Message.

Set OutputDataLocation to something like OutputBody.NewMessage

The result should be the whole Input tree, with the message retrieved from the queue under OutputRoot.[<].NewMessage - which will be the last child of OutputRoot.[<]


Thanks for the suggestion but this fails in the deploy. OutputBody is not in scope as an output option.
Back to top
View user's profile Send private message
dcapodic
PostPosted: Thu Jun 21, 2007 8:29 pm    Post subject: Reply with quote

Apprentice

Joined: 03 Sep 2003
Posts: 32

wbi_telecom wrote:
You can either save the first input message in Environment folder and then copy the second one in a new tag in the OutputRoot. Or store the first one within one tag of the OutputRoot (like OutputRoot.Original) and store the one from MQGet into another (OutputRoot.Second).
Yous can then write ESQL to consolidate the data and create a new OutputRoot as desired by the target system.


Cheers,


Hi....

this is the way that I picture it happening except that I do not know how to save the messages to the places you have suggested. Do you have an example of what settings to use in the MQGet node? I know that once I get all of the data to pass through, writing the esql to access it should be a snap. But I cannot seem to get both message through....it is either one or the other.All the documentation deals with either the first message, the second message, or partial "getting" of the second message. I have not seen anything about how to get both messages. I am starting to wonder about this....is this just something that you "should" be able to do but no one actually does it If you have a working sample, I would be most appreciative to try it

Thanks....
Back to top
View user's profile Send private message
dcapodic
PostPosted: Thu Jun 21, 2007 8:32 pm    Post subject: Reply with quote

Apprentice

Joined: 03 Sep 2003
Posts: 32

JosephGramig wrote:
Or you can tell it to put the Result in the LocalEnvironment and the stick it where you like in the next Compute or Map node.


Hi....

I am not looking for a result but the entire input message and the MQGet node message. I have been able to make everything else work except this. It seems like it is possible but I just can't seem to hit on it.

Thanks....
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Jun 21, 2007 8:33 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

dcapodic wrote:
jefflowrey wrote:
Set Generate Mode to Message - the default.

Set Copy Message to Entire Message.

Set OutputDataLocation to something like OutputBody.NewMessage

The result should be the whole Input tree, with the message retrieved from the queue under OutputRoot.[<].NewMessage - which will be the last child of OutputRoot.[<]


Thanks for the suggestion but this fails in the deploy. OutputBody is not in scope as an output option.


You may need to resolve OutputBody to OutputRoot.XMLNS.message.mynewmessage or something of the kind...

Especially if it is in one of the XML domains OutputBody is a bad choice because it would invalidate the XML as having mutliple root tags (not allowed)...

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
jefflowrey
PostPosted: Fri Jun 22, 2007 3:08 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

OutputBody was a typo.

It's not actually a valid correlation name, I think.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Jun 22, 2007 3:45 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

jefflowrey wrote:
OutputBody was a typo.

It's not actually a valid correlation name, I think.


I think you have to have OutputRoot.{Domain Name}
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Fri Jun 22, 2007 4:20 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Vitor wrote:
I think you have to have OutputRoot.{Domain Name}


Yeah. Or OutputRoot.[<], which I used in a couple places there, which is the same as the old OutputRoot.[LAST]. Which is to say, the last child of OutputRoot, which is going to be the message body...
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
wbi_telecom
PostPosted: Fri Jun 22, 2007 10:10 am    Post subject: Reply with quote

Disciple

Joined: 15 Feb 2006
Posts: 188
Location: Harrisburg, PA

Here is what I will try in this scenario. After the MQInput in your flow, place a compute node which saves the message in Environment. Attach a trace node to make sure you have the message in the Environment.
In your MQGet node make sure you select the Copy Entire Message setting in "Advanced" tab.

Trace the message after it comes out of MQGet and make sure you have the Environment folder that has your original message and the OutputRoot should have the message you got from MQGet.

If either of this is not true please write back with your results. If your first trace shows the Environment populated correctly it should be seen in your second trace as well. If not then you will need to investigate what exactly the applicaiton replying is doing with your message.


Cheers,
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » propagating both messages with an MQGet node....
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.