Author |
Message
|
EAI Developer |
Posted: Wed Jan 25, 2006 10:43 am Post subject: Regarding Aggregate Nodes in MB v 6.0 |
|
|
 Centurion
Joined: 30 Nov 2005 Posts: 101 Location: US
|
Hi Everybody,
In my current scenario i dealing with aggregate nodes where i am using aggr reply,aggr request and aggr control nodes.My flow is like
MQInput --> AggrControl -->Compute -->MQOutput -->AggrReq
|
-->Compute -->MQOutput -->AggrReq
MQInput -->AggrReply -->Compute -->MQOutput
Here I am getting an exception after the debugger reached AgrrRply node.
I am using MB v6.0 .
Message
LocalEnvironment
Environment
ExceptionList
RecoverableException
File = F:\\build\\S000_P\\src\\DataFlowEngine\\ImbDataFlowNode.cpp
Line = 616
Function = ImbDataFlowNode::createExceptionList
Type = ComIbmAggregateReplyNode
Name = SampleAggregateFlow#FCMComposite_1_8
Label = SampleAggregateFlow.AggregateReply
Catalog = BIPv600
Severity = 3
Number = 2230
Text = Node throwing exception
RecoverableException
File = F:\\build\\S000_P\\src\\DataFlowEngine\\ImbMqOutputNode.cpp
Line = 769
Function = ImbMqOutputNode::evaluate
Type = ComIbmMQOutputNode
Name = SampleAggregateFlow#FCMComposite_1_4
Label = SampleAggregateFlow.MQOutput1
Catalog = BIPv600
Severity = 3
Number = 2230
Text = Caught exception and rethrowing
ParserException
File = F:\\build\\S000_P\\src\\DataFlowEngine\\ImbMqmdParser.cpp
Line = 1073
Function = ImbMqmdParser::writeMqmd
Type = ComIbmMQInputNode
Name = SampleAggregateFlow#FCMComposite_1_3
Label = SampleAggregateFlow.MQInput1
Catalog = BIPv600
Severity = 2
Number = 5912
Text = Exception whilst writing field named
Insert
Insert
Insert
RecoverableException
File = F:\\build\\S000_P\\src\\CommonServices\\ImbConverter.cpp
Line = 293
Function = ImbConverterCPP::internalFromUnicode
Type =
Name =
Label =
Catalog = BIPv600
Severity = 3
Number = 2133
Text = String too long to convert
Insert
Type = 5
Text = 4d0051004d0044005f0053005400520049004e004700
Insert
Type = 2
Text = 8
Insert
Type = 2
Text = 437 |
|
Back to top |
|
 |
vennela |
Posted: Wed Jan 25, 2006 11:08 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
This is not an answer.
But if you are using aggregate nodes for the first time, I would advise you to look at the Aggregation sample that is in the samples gallery of the toolkit. |
|
Back to top |
|
 |
EAI Developer |
Posted: Wed Jan 25, 2006 11:14 am Post subject: |
|
|
 Centurion
Joined: 30 Nov 2005 Posts: 101 Location: US
|
Thanx for the reply mam,
But i already studied, completly, the aggregation nodes concept in info center and i designed my flow just similar to the example flow given in sample examples,but with little logic..
Thnq |
|
Back to top |
|
 |
dilse |
Posted: Wed Jan 25, 2006 11:23 am Post subject: |
|
|
 Master
Joined: 24 Jun 2004 Posts: 270
|
I am not sure if this helps but try to analyze or let us know the other "Insert" contents which I higlighted in bold because a lot of times these insert contents will tell us the statement where exactly the error occured.
Code: |
[b]
Insert
Insert
Insert
[/b]
RecoverableException
File = F:\\build\\S000_P\\src\\CommonServices\\ImbConverter.cpp
Line = 293
Function = ImbConverterCPP::internalFromUnicode
Type =
Name =
Label =
Catalog = BIPv600
Severity = 3
Number = 2133
Text = String too long to convert
|
|
|
Back to top |
|
 |
EAI Developer |
Posted: Wed Jan 25, 2006 11:42 am Post subject: |
|
|
 Centurion
Joined: 30 Nov 2005 Posts: 101 Location: US
|
Here is the total exception tree
Message
LocalEnvironment
Environment
ExceptionList
RecoverableException
File = F:\\build\\S000_P\\src\\DataFlowEngine\\ImbDataFlowNode.cpp
Line = 616
Function = ImbDataFlowNode::createExceptionList
Type = ComIbmAggregateReplyNode
Name = SampleAggregateFlow#FCMComposite_1_8
Label = SampleAggregateFlow.AggregateReply
Catalog = BIPv600
Severity = 3
Number = 2230
Text = Node throwing exception
RecoverableException
File = F:\\build\\S000_P\\src\\DataFlowEngine\\ImbMqOutputNode.cpp
Line = 769
Function = ImbMqOutputNode::evaluate
Type = ComIbmMQOutputNode
Name = SampleAggregateFlow#FCMComposite_1_4
Label = SampleAggregateFlow.MQOutput1
Catalog = BIPv600
Severity = 3
Number = 2230
Text = Caught exception and rethrowing
ParserException
File = F:\\build\\S000_P\\src\\DataFlowEngine\\ImbMqmdParser.cpp
Line = 1073
Function = ImbMqmdParser::writeMqmd
Type = ComIbmMQInputNode
Name = SampleAggregateFlow#FCMComposite_1_3
Label = SampleAggregateFlow.MQInput1
Catalog = BIPv600
Severity = 2
Number = 5912
Text = Exception whilst writing field named
Insert
Type = 5
Text = MQMD
Insert
Type = 5
Text = Format
Insert
Type = 5
Text = MQMD_STRING
RecoverableException
File = F:\\build\\S000_P\\src\\CommonServices\\ImbConverter.cpp
Line = 293
Function = ImbConverterCPP::internalFromUnicode
Type =
Name =
Label =
Catalog = BIPv600
Severity = 3
Number = 2133
Text = String too long to convert
Insert
Type = 5
Text = 4d0051004d0044005f0053005400520049004e004700
Insert
Type = 2
Text = 8
Insert
Type = 2
Text = 437
Thanx in advance |
|
Back to top |
|
 |
Rodeo |
Posted: Mon Jun 25, 2007 1:12 pm Post subject: Were you able to find the reason for this error? |
|
|
Apprentice
Joined: 11 Apr 2007 Posts: 30
|
EAI Developer: Were you able to see the reason for this error? |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Jun 25, 2007 1:14 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
It looks to me like maybe EAI Developer was trying to set MQMD.Format = MQMD_STRING, when it needed to be MQFMT_STRING... _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Rodeo |
Posted: Mon Jun 25, 2007 1:41 pm Post subject: |
|
|
Apprentice
Joined: 11 Apr 2007 Posts: 30
|
jefflowrey wrote: |
It looks to me like maybe EAI Developer was trying to set MQMD.Format = MQMD_STRING, when it needed to be MQFMT_STRING... |
Thanks Jeff, your clue took me in the right direction. One issue was because I was using the timer node:
This is what the info center had to say about it:
If you use a TimeoutNotification node to generate a WebSphere MQ message to an output node such as MQOutput, provide a valid MQMD. You must provide a valid MQMD if the TimeoutNotification node is running in automatic mode (as a stand-alone node). If the TimeoutNotification node is running in controlled mode (that is, it is paired with one or more TimeoutControl nodes), you need to provide a valid MQMD only if the stored messages do not already have an MQMD. The following ESQL shows how to provide a valid MQMD:
CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN 'MQMD';
SET OutputRoot.MQMD.Version = MQMD_CURRENT_VERSION;
SET OutputRoot.MQMD.Format = 'XML';
I wasn't doing SET OutputRoot.MQMD.Format = 'XMLNS' and this I think is messing up my code.
The other addition was: This helped solve the problem
SET OutputRoot.Properties = InputRoot.Properties;
SET OutputRoot.MQMD = InputRoot.MQMD;
from the
http://www.mqseries.net/phpBB2/viewtopic.php?t=12577&highlight=mqpropertyparser |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Jun 25, 2007 1:53 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Neither "XML" nor "XMLNS" are what you want to use for MQMD.Format.
And if you're doing Set OutputRoot.MQMD = InputRoot.MQMD, then you're overwriting any changes you made to OutputRoot.MQMD before you ran that code... _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Rodeo |
Posted: Mon Jun 25, 2007 2:01 pm Post subject: |
|
|
Apprentice
Joined: 11 Apr 2007 Posts: 30
|
jefflowrey wrote: |
Neither "XML" nor "XMLNS" are what you want to use for MQMD.Format.
And if you're doing Set OutputRoot.MQMD = InputRoot.MQMD, then you're overwriting any changes you made to OutputRoot.MQMD before you ran that code... |
I am doing the Set OutputRoot.MQMD = InputRoot.MQMD first and then setting the MQMD.Format to XMLNS. I am trying to create an XMLNS message.
Am I doing something wrong here? |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Jun 25, 2007 2:53 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Rodeo wrote: |
jefflowrey wrote: |
Neither "XML" nor "XMLNS" are what you want to use for MQMD.Format.
And if you're doing Set OutputRoot.MQMD = InputRoot.MQMD, then you're overwriting any changes you made to OutputRoot.MQMD before you ran that code... |
I am doing the Set OutputRoot.MQMD = InputRoot.MQMD first and then setting the MQMD.Format to XMLNS. I am trying to create an XMLNS message.
Am I doing something wrong here? |
Completely wrong.
Looks to me like you are creating the message from scratch... so...
You need:
Code: |
SET OutputRoot.MQMD.Format = MQFMT_STRING;
CREATE LASTCHILD of OutputRoot DOMAIN 'XMLNS' NAME 'XMLNS';
SET OutputRoot.XMLNS.myxmlroot = myxmlroot; |
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|