Author |
Message
|
chris boehnke |
Posted: Fri Mar 04, 2011 9:45 am Post subject: MQGet Node error |
|
|
 Partisan
Joined: 25 Jul 2006 Posts: 369
|
Hi Guys,
I am having an issue with MQGET node.
I am using two MQGET nodes to get message by correlation ID.
If my request is not found in queue 1, I will get the message from queue 2.
MQinput--->Compute node--->MQGET1--->MQGET2--->subflow
I am using Input MQMD location = Environment.MQGET.MQMD.
I am getting MQGET node error from second MQGET. Below is the error.
Quote: |
RecoverableException
File:CHARACTER:F:\build\S610_P\src\CommonServices\ImbConverter.cpp
Line:INTEGER:114
Function:CHARACTER:ImbConverterCPP::ImbConverterCPP
Type:CHARACTER:
Name:CHARACTER:
Label:CHARACTER:
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:2130
Text:CHARACTER:Error creating converter
Insert
Type:INTEGER:2
Text:CHARACTER:0
Insert
Type:INTEGER:2
Text:CHARACTER:4 |
Can anyone pls throw light on this. |
|
Back to top |
|
 |
chris boehnke |
Posted: Fri Mar 04, 2011 10:50 am Post subject: |
|
|
 Partisan
Joined: 25 Jul 2006 Posts: 369
|
Is there any restricyion in suing more than one MQget node in a flow? |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Mar 04, 2011 7:25 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Quote: |
MQinput--->Compute node--->MQGET1--->MQGET2--->subflow
I am using Input MQMD location = Environment.MQGET.MQMD. |
I figure you used the same setup on both MQGET nodes.
So did you run a trace to check if Environment.MQGET.MQMD changes between MQGET1 and MQGET2 ?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
chris boehnke |
Posted: Sat Mar 05, 2011 9:41 am Post subject: |
|
|
 Partisan
Joined: 25 Jul 2006 Posts: 369
|
I used the same set up on both nodes.
I didn't find any difference in trace also. Both trace look the same.
Why will the MQMD change on Environment.MQGET.MQMD? |
|
Back to top |
|
 |
rekarm01 |
Posted: Sat Mar 05, 2011 2:19 pm Post subject: Re: MQGet Node error |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
chris boehnke wrote: |
Why will the MQMD change on Environment.MQGET.MQMD? |
For WMQ, the MQGET MsgDesc is an input/output parameter. The MQMD passed into the MQGET call is not necessarily the same MQMD passed out of it. If the Input MQMD Location and Output MQ parameters location properties both point to the same part of the tree, the first MQGET will overwrite the MQMD. Check the WMB InfoCenter here and here for more detailed explanations.
What are the MQGET node Properties for:- Advanced
- Generate mode?
- Copy message?
- Copy local environment?
- Request
- Input MQMD location?
- Input MQ parameters location?
- Use all input MQMD fields?
- Result
- Output data location?
- Result data location?
- Output MQ parameters location?
- Warning data location?
- Include message contents in output message assembly?
Use Trace nodes to examine the relevant parts of the input/output trees before, between, and after the MQGET nodes.
chris boehnke wrote: |
Code: |
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:2130
Text:CHARACTER:Error creating converter
Insert
Type:INTEGER:2
Text:CHARACTER:0
Insert
Type:INTEGER:2
Text:CHARACTER:4 |
|
The usertrace has the full-text for this exception, and possibly additional messages to explain it further. |
|
Back to top |
|
 |
gerdd |
Posted: Mon Mar 07, 2011 4:00 am Post subject: |
|
|
Newbie
Joined: 04 Mar 2011 Posts: 8
|
chris boehnke wrote: |
Is there any restricyion in suing more than one MQget node in a flow? |
Not if you live in the US and can afford more than one lawyer
But seriously: You can issue as many MQGets as it takes to get the job done, and then some ... Whether what you do makes sense is as usual a different question. Going after two queues with potentially the same correlid may well make sense in special - but not too exotic - circumstances. |
|
Back to top |
|
 |
gerdd |
Posted: Mon Mar 07, 2011 4:36 am Post subject: Some more info |
|
|
Newbie
Joined: 04 Mar 2011 Posts: 8
|
Wonder what your compute node is doing, by the way.
What I see you doing so far is this:
Get a message from Q1, do some transformation.
Get a message from Q2 with the same correlid as the one from Q1.
Then get another one from Q3, still with the same correlid. Fail.
I read the error info you give to say that you fail with a BIP2130, which is a code page conversion error. Since conversion is off by default in the MQInput node and not even provided in the MQGet node - unless you want to set it in the MQMD you pass to the MQGet nodes, the question begs itself: Do you do anything funny with conversion? If not, there is still the default conversion into Unicode that MB does by itself.
I would definitely check out not only what happens to the correlid values throughout your flow, but also what happens with CCSIDs in MQMDs and actual message representation in your buffers. Can you inspect incoming messages with, say, RFHUTIL, before they are consumed? |
|
Back to top |
|
 |
|