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 » Message propagation issue. Please help.

Post new topic  Reply to topic
 Message propagation issue. Please help. « View previous topic :: View next topic » 
Author Message
humanRebody
PostPosted: Fri Feb 05, 2010 2:08 am    Post subject: Message propagation issue. Please help. Reply with quote

Novice

Joined: 05 Feb 2010
Posts: 15

Hi all,

Recently I developed a simple workflow which just propagate a message from 1 MQInput node to 2 MQOutput node. I have try the tutorial from IBM but still not success.

Code:

SET OutputRoot = InputRoot;
PROPAGATE;
SET OutputRoot = InputRoot;
PROPAGATE TO TERMINAL 'out1';
SET OutputRoot = InputRoot;


Is there anything else I need to configure.

And the flow is so simple that 1 MQInput --> compute node --> 2 MQOutput.

Please advise.

Thanks,
Thomas[/code]
Back to top
View user's profile Send private message
WMBDEV1
PostPosted: Fri Feb 05, 2010 3:15 am    Post subject: Re: Message propagation issue. Please help. Reply with quote

Sentinel

Joined: 05 Mar 2009
Posts: 888
Location: UK

Can you elaborate on:

humanRebody wrote:
still not success.


What happens? You get 0 messages? 1 message? deploy error?

I've no idea what your problem is at the moment!
Back to top
View user's profile Send private message
nathanw
PostPosted: Fri Feb 05, 2010 3:16 am    Post subject: Reply with quote

Knight

Joined: 14 Jul 2004
Posts: 550

I am assuming you added the compute node and the Propogate portion because you are looking at learning more about it.

If the purpose of the flow was just to move the message from 1 queue to another then just connect the MQInput direct to the MQouput
_________________
Who is General Failure and why is he reading my hard drive?

Artificial Intelligence stands no chance against Natural Stupidity.

Only the User Trace Speaks The Truth
Back to top
View user's profile Send private message MSN Messenger
smdavies99
PostPosted: Fri Feb 05, 2010 3:23 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

You take the easy way out...

Just wire the out terminal of your MQInput node to the 'in' terminal of the two MQOutput Nodes.
That's the way it was done before the ESQL Propagate verb was introduced.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
mlafleur
PostPosted: Fri Feb 05, 2010 6:06 am    Post subject: Reply with quote

Acolyte

Joined: 19 Feb 2004
Posts: 73

Here's a hint for you.

PROPAGATE DELETE NONE;
Back to top
View user's profile Send private message
humanRebody
PostPosted: Fri Feb 05, 2010 8:55 am    Post subject: Reply with quote

Novice

Joined: 05 Feb 2010
Posts: 15

I am glad that there were so many replies/help here.

Ok, Firstly I have a reference with the below IBM tutorial.
http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r0m0/index.jsp?topic=/com.ibm.etools.mft.doc/ac12370_.htm

My whole code is as following:
Code:



CREATE COMPUTE MODULE Marshalling_Compute
   CREATE FUNCTION Main() RETURNS BOOLEAN
   BEGIN
      CALL CopyEntireMessage();
      RETURN FALSE;
   END;

   CREATE PROCEDURE CopyEntireMessage()
   BEGIN

      SET OutputRoot = InputRoot;
      PROPAGATE DELETE NONE;
      SET OutputRoot = InputRoot;
      PROPAGATE TO TERMINAL 'out1';

   END;
   
   CREATE PROCEDURE CopyMessageHeaders()
   BEGIN
      DECLARE I INTEGER 1;
      DECLARE J INTEGER;
      SET J = CARDINALITY(InputRoot.*[]);
      WHILE I < J DO
         SET OutputRoot.*[I] = InputRoot.*[I];
         SET I = I + 1;
      END WHILE;
   END;
END MODULE;


Actually I read some documents which indicates calling method CopyMessageHeaders() is necessary. However, it cannot solve the problem.

Also please find the ExceptionList below:

    ExceptionList
    RecoverableException
    File = /build/S600_P/src/DataFlowEngine/ImbDataFlowNode.cpp
    Line = 616
    Function = ImbDataFlowNode::createExceptionList
    Type = ComIbmMQInputNode
    Name = Marshalling#FCMComposite_1_1
    Label = Marshalling.MQInput
    Catalog = BIPv600
    Severity = 3
    Number = 2230
    Text = Node throwing exception
    RecoverableException
    File = /build/S600_P/src/DataFlowEngine/ImbComputeNode.cpp
    Line = 464
    Function = ImbComputeNode::evaluate
    Type = ComIbmComputeNode
    Name = Marshalling#FCMComposite_1_2
    Label = Marshalling.Compute
    Catalog = BIPv600
    Severity = 3
    Number = 2230
    Text = Caught exception and rethrowing
    RecoverableException
    File = /build/S600_P/src/DataFlowEngine/ImbRdl/ImbRdlStatementGroup.cpp
    Line = 589
    Function = SqlStatementGroup::execute
    Type = ComIbmComputeNode
    Name = Marshalling#FCMComposite_1_2
    Label = Marshalling.Compute
    Catalog = BIPv600
    Severity = 3
    Number = 2488
    Text = Error detected, rethrowing
    Insert
    Insert
    Insert
    RecoverableException
    File = /build/S600_P/src/DataFlowEngine/ImbRdl/ImbRdlRoutine.cpp
    Line = 548
    Function = SqlRoutine::invoke
    Type = ComIbmComputeNode
    Name = Marshalling#FCMComposite_1_2
    Label = Marshalling.Compute
    Catalog = BIPv600
    Severity = 3
    Number = 2934
    Text = Error occured in procedure
    Insert
    RecoverableException


Beside, I have captured the flow and please comment:
[img]http://picasaweb.google.com.tw/thomaslmw/ForWork?feat=directlink#5434802241078685746[/img]

Thanks for your great help!

Regards,
Thomas
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Feb 05, 2010 9:14 am    Post subject: Reply with quote

Grand High Poobah

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

Two points.

First - don't put your code in the supplied copy procedures. Put in in the Main where's it's supposed to be. Unlikely to be directly your problem but...

Second:
humanRebody wrote:
Actually I read some documents which indicates calling method CopyMessageHeaders() is necessary. However, it cannot solve the problem.


Why not? Why wouldn't the 2nd message need headers as well? Not putting user code in the copy procedures allows you to call them multiple times, as they were intended to be. From the link you posted:

Quote:
ensure that you copy all required message headers to the output message buffer for each output message that you propagate


You might also find a clue in the line immediately above that one.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mgk
PostPosted: Fri Feb 05, 2010 9:38 am    Post subject: Reply with quote

Padawan

Joined: 31 Jul 2003
Posts: 1642

For some reason the inserts seem to be missing in the ExceptionList you posted and they should tell you what the flow thinks the problem is so try looking in the EventLog to see if the message is shows correctly there. Also, just so you know, if you want the SAME message sent to two (or more) destinations you can simple wire the Out terminal on the Compute node multiple times to your target (different) output nodes and the flow will send the SAME message to each of the wired target nodes one after the other.

Kind regards,
_________________
MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions.
Back to top
View user's profile Send private message
smdavies99
PostPosted: Fri Feb 05, 2010 10:48 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

mgk wrote:
For some reason the inserts seem to be missing in the ExceptionList you posted and they should tell you what the flow thinks the problem is so try looking in the EventLog to see if the message is shows correctly there. Also, just so you know, if you want the SAME message sent to two (or more) destinations you can simple wire the Out terminal on the Compute node multiple times to your target (different) output nodes and the flow will send the SAME message to each of the wired target nodes one after the other.

Kind regards,


Exactly what I said above but it seems to have been ignored by the poster.
Sigh.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
mgk
PostPosted: Fri Feb 05, 2010 11:16 am    Post subject: Reply with quote

Padawan

Joined: 31 Jul 2003
Posts: 1642

Quote:
Exactly what I said above but it seems to have been ignored by the poster.


And I missed it too

Kind Regards,
_________________
MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions.
Back to top
View user's profile Send private message
humanRebody
PostPosted: Fri Feb 05, 2010 9:56 pm    Post subject: Reply with quote

Novice

Joined: 05 Feb 2010
Posts: 15

Oooo....Thx so much...why all you guys said it is not IMPOSSIBLE to archieve it. Really very simple.
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 » Message propagation issue. Please help.
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.