Author |
Message
|
Haritha_Flora |
Posted: Tue Mar 26, 2019 4:12 am Post subject: Overriding MQConnection Properties of MQ output node |
|
|
Novice
Joined: 26 Mar 2019 Posts: 10 Location: Hyderabad,India
|
Hi All,
I am using IIB V10 and IBM MQ V9
I tried to post message to the remote queue manger's Queue by using MQConnection properties of MQ output node.
I was successfully posted the message in Remote Queue manager's queue when i specify MQ Connection properties on node itself.
Now i am trying to override these properties using Local environment but i am getting errors. Application is looking for the Local Queue manager's Queue.
Error:Failed to open queue -1 MQW101 2085 IB10QMGR TEMP 2
Please help me to know what i am missing here.
Local Queue manager : IB10QMGR
Local Integration node : IB10QMGR
Remote Queue manager: REMOTEQM (Running on another server)
Remote QueueManger's Queue: TEMP
*******ESQL code **********
SET OutputLocalEnvironment.Destination.MQ.DestinationData[1].queueName ='TEMP';
SET OutputLocalEnvironment.Destination.MQ.DestinationData[1].bindingType ='CLIENT';
SET OutputLocalEnvironment.Destination.MQ.DestinationData[1].destinationQueueManager ='REMOTEQM';
SET OutputLocalEnvironment.Destination.MQ.DestinationData[1].queueManagerHostname ='SAMPLE';
SET OutputLocalEnvironment.Destination.MQ.DestinationData[1].listenerPortNumber ='7777';
SET OutputLocalEnvironment.Destination.MQ.DestinationData[1].channelName ='SAMPLE.CHAN';
Thanks! |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Mar 26, 2019 4:34 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
|
Back to top |
|
 |
Vitor |
Posted: Tue Mar 26, 2019 4:58 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Also make sure you're passing the LocalEnvironment to the MQOutput node. By default the Compute node doesn't do that. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Haritha_Flora |
Posted: Wed Mar 27, 2019 8:50 pm Post subject: |
|
|
Novice
Joined: 26 Mar 2019 Posts: 10 Location: Hyderabad,India
|
Thanks for the suggestions.
I was selected Compute mode property to "ALL" then LocalEnvironment should be passed but no luck.
another observation from user trace is
It is taking Queue manager name from Policy
************User Trace***********************
2019-03-28 10:54:19.615610 26120 UserTrace BIP7945I: A message is being processed in node ''CTLtoFCS_UnconfirmedJobAck.DashboardQ'', with the following attributes derived from the policy at '''': ''destinationQueueManagerName: IB10QMGR, connection: SERVER, logLabel: CTLtoFCS_UnconfirmedJobAck.DashboardQ'', and the following attributes derived from the local environment ''bindingType: CLIENT, channelName: SAMPLE.CHAN, destinationQueueManager: REMOTEQM, queueManagerHostname: SAMPLE, listenerPortNumber: 7777, queueName: TEMP''.
Each message processed by the node might use different attributes derived from a policy or the local environment. This message records the attribute values that are used for a specific message.
No user action required.
2019-03-28 10:54:19.624124 26120 UserTrace BIP13025I: Connected to WebSphere MQ queue manager ''IB10QMGR''.
Successfully connected to WebSphere MQ queue manager ''IB10QMGR''.
2019-03-28 10:54:19.625112 26120 UserTrace BIP13032E: Failed to open WebSphere MQ queue ''TEMP''.
Failed to open WebSphere MQ queue ''TEMP'' on queue manager ''IB10QMGR'' because of reason code ''2085''.
Use reason code ''2085'' to determine why queue ''TEMP'' failed to open, and take corrective action.
************************************************************
I didn't set Policy URL property.I searched about this issue but no results
Could you please suggest how can we ignore attributes derived from Policy and consider Local environment only.
Thanks![/img] |
|
Back to top |
|
 |
abhi_thri |
Posted: Thu Mar 28, 2019 1:44 am Post subject: |
|
|
 Knight
Joined: 17 Jul 2017 Posts: 516 Location: UK
|
Hi...if you look at the trace message you will notice that the MQOutput node is still trying to connect to MQ in SERVER mode,
Quote: |
derived from the policy at '''': ''destinationQueueManagerName: IB10QMGR, connection: SERVER</quote> |
You can ignore the policy bits in the trace as long as it is not set at the node (trace also shows the same that the policy url is blank)
So it looks like the node is still connecting to MQ in Server mode and not as Client. I could be wrong but if you look at the infocenter it doesn't list any of the Client properties can be overridden at LocalEnvironment (bindingType,destinationQueueManager, queueManagerHostname etc ).
https://www.ibm.com/support/knowledgecenter/SSMKHH_10.0.0/com.ibm.etools.mft.doc/ad09630_.htm
So it could be case that the client QMgr/queue details can be only set at the node itself after changing the 'Connection' property to 'MQ client connection properties'.
If it is indeed the case that the Client MQ properties cannot be overridden via LocalEnvironment it is a good case to raise an RFE for the same with IBM. |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Mar 28, 2019 5:04 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
You're barking up the wrong tree here. You need to look at the policy overrides as defined here. (And you have to unhide them) As evidenced in your trace the binding type can be overriden by using the connection attribute. Binding type is an attribute of written destination and is not something you can override...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Haritha_Flora |
Posted: Thu Mar 28, 2019 10:13 pm Post subject: |
|
|
Novice
Joined: 26 Mar 2019 Posts: 10 Location: Hyderabad,India
|
Thank you abhi_thri and fj_saper for your inputs.
I thought to use one MQOutputnode to place messages in both Local Queue manager's queue and Remote Queue manager's queue as well by overriding the Properties dynamically.
By using policy overrides we can't achieve this requirement.
Seems i have to use distinct MQ output nodes for each case as i didn't see the possibility to override Connection property of MQ Output node.
 _________________ Thanks! |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Mar 29, 2019 5:00 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Haritha_Flora wrote: |
Thank you abhi_thri and fj_saper for your inputs.
I thought to use one MQOutputnode to place messages in both Local Queue manager's queue and Remote Queue manager's queue as well by overriding the Properties dynamically.
By using policy overrides we can't achieve this requirement.
Seems i have to use distinct MQ output nodes for each case as i didn't see the possibility to override Connection property of MQ Output node.
 |
Might have to do with the spelling. I don't believe there's a capital letter in the property...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Haritha_Flora |
Posted: Mon Apr 01, 2019 1:30 am Post subject: |
|
|
Novice
Joined: 26 Mar 2019 Posts: 10 Location: Hyderabad,India
|
Yes i tried with small letter as we won't use capital letter at the start of the name generally.
But not succeed  _________________ Thanks! |
|
Back to top |
|
 |
Vitor |
Posted: Mon Apr 01, 2019 4:11 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Haritha_Flora wrote: |
Yes i tried with small letter as we won't use capital letter at the start of the name generally. |
Isn't it more a question of what capitalization IBM used when they created it?
 _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|