Author |
Message
|
bharathi.tech12 |
Posted: Mon Feb 10, 2014 2:35 pm Post subject: MQ Input and Route Node flow not working |
|
|
Voyager
Joined: 14 May 2013 Posts: 93
|
Hi,
I have flow starting the MQ Input Node ---> Route ---> MQ OutPut Nodes.
I am using the DLQ Name in my MQ Input Node.
In the Route :
$Root/MQDLH/DestQName = 'SomeQueuName' -- route the message to the Specific Queue.
The issues is, seeing the DestQName but the route is not taking the filter pattern and not routing to the MQ Output Nodes.
DLQ Message Structure :
Code: |
Message
Properties
MessageSet:CHARACTER:
MessageType:CHARACTER:
MessageFormat:CHARACTER:MQSTR
Encoding:INTEGER:546
CodedCharSetId:INTEGER:1208
Transactional:BOOLEAN:true
Persistence:BOOLEAN:true
...
MQMD
SourceQueue:CHARACTER:DLQDEF
Transactional:BOOLEAN:true
Encoding:INTEGER:546
CodedCharSetId:INTEGER:1208
Format:CHARACTER:MQDEAD
...
MQDLH
Version:INTEGER:1
Format:CHARACTER:MQHRF2
Encoding:INTEGER:546
CodedCharSetId:INTEGER:1208
Reason:INTEGER:65536
DestQName:CHARACTER:AUDIT_RESPONSE_MESSAGE
DestQMgrName:CHARACTER:DEVQMGR001
PutApplType:INTEGER:6
PutApplName:CHARACTER:WebSphereMQIntegrator8
...
|
|
|
Back to top |
|
 |
Esa |
Posted: Tue Feb 11, 2014 12:53 am Post subject: |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
Please check this out.
Maybe your wheel has already been invented? |
|
Back to top |
|
 |
bharathi.tech12 |
Posted: Tue Feb 11, 2014 11:58 am Post subject: |
|
|
Voyager
Joined: 14 May 2013 Posts: 93
|
Thanks for your info.
The issues is i wand to try from MB to fix this DLQ process. We have some other logic to update the message before re-sending to the specific queue once again.
I have implemented using ESQL/Java compute node to find and send to the Queue. But the concern is why the route node not doing the same.
The Route node only will work with user defined message tree and not work with MB build in tree. Is this correct? |
|
Back to top |
|
 |
Vitor |
Posted: Tue Feb 11, 2014 12:04 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
bharathi.tech12 wrote: |
The Route node only will work with user defined message tree and not work with MB build in tree. Is this correct? |
No. It works with any message tree.
What does the user trace say is happening? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
bharathi.tech12 |
Posted: Wed Feb 12, 2014 1:12 pm Post subject: |
|
|
Voyager
Joined: 14 May 2013 Posts: 93
|
Thanks vitor...
Route node not throwing any error for the below xpath expression added in filter table and also not routing to the output terminal.
$Root/MQDLH/DestQName = 'SomeQueuName'
Now I have one doubt... in the xpath expression builder ... Data Types Viewer not showing MQDLH type. Only it has MQMD type. If I use the MQMD and build the expression like this $Root/MQMD/SourceQueue='DLQDEF', its working and routing to the output terminal.
So how to add the MQDLH datatype in the Data Type Viewer.
 |
|
Back to top |
|
 |
Vitor |
Posted: Wed Feb 12, 2014 8:27 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
bharathi.tech12 wrote: |
Route node not throwing any error for the below xpath expression added in filter table and also not routing to the output terminal. |
Well it's a perfectly valid XPath expression so the editor won't throw an error. The fact that that XPath yields a null when the Route node evaluates it is likewise not a error. So functioning as designed.
bharathi.tech12 wrote: |
So how to add the MQDLH datatype in the Data Type Viewer. |
How would you add any datatype?  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
bharathi.tech12 |
Posted: Thu Feb 13, 2014 1:30 pm Post subject: |
|
|
Voyager
Joined: 14 May 2013 Posts: 93
|
Finally i got it why this XPath expression is not matched with runtime value in the MQDLH header. The MQDLH header DestQName value is coming with some white spaces.so the below XPath is not matched,
$Root/MQDLH/DestQName = 'SomeQueuName'
So I used the below XPath to match the runtime value,
substring($Root/MQDLH/DestQName,1,21)= 'SomeQueuName'
or
$Root/MQDLH/DestQName = 'SomeQueuName -added same white space- '
I am not sure how the white space added with the Qname and also as per my testing i got some white space length but not sure same white space length will add in all other env.
I am also not happy why MB don't have trim function in XPath Expressing Builder.I am able to see only few XPath functions.
About Adding Data types, when we do content based routing logic, we added the xml elements into the Data Types Viewer and selected the element to match. Like that i expect to add the other Headers.
Thanks vitor...
 |
|
Back to top |
|
 |
Vitor |
Posted: Thu Feb 13, 2014 1:34 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
bharathi.tech12 wrote: |
I am also not happy why MB don't have trim function in XPath Expressing Builder.I am able to see only few XPath functions. |
I see more than that, including a number of functions other than trim that would resolve your whitespace issue.
bharathi.tech12 wrote: |
Like that i expect to add the other Headers. |
Exactly so.  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|