Author |
Message
|
Vitor |
Posted: Tue Apr 17, 2018 9:27 am Post subject: |
|
|
Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
sathyapbe wrote: |
Due to lack of test accounts we haven't used CAT IBM MQ server. |
And IBM thanks you for buying a license you don't need.
sathyapbe wrote: |
While doing the testing we were using our windows CAT server and pointed to PROD IBM MQ. It was working as expected.
We rolled out the application to our windows PROD server and pointed to PROD IBM MQ. It is not working as expected because of the additional headers. |
So you didn't immediately suspect the connection between CAT & PROD being differently configured to the one between PROD & PROD? And ask the admins about it? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
|
sathyapbe |
Posted: Tue Apr 17, 2018 10:10 am Post subject: |
|
|
Novice
Joined: 16 Apr 2018 Posts: 21
|
RogerLacroix, Thanks for the detailed explanation.
The problem is 2 different windows server used to send the request to IBM MQ(same server, queue manager, queues, channel,...). From one windows server request doesn't have additional headers but from another windows server request has additional headers.
Vitor, This is what I am trying to ask you. Is there any configurations in IBM MQ for each client servers(eg: our 2 windows server)? |
|
Back to top |
|
|
Vitor |
Posted: Tue Apr 17, 2018 10:25 am Post subject: |
|
|
Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
sathyapbe wrote: |
Vitor, This is what I am trying to ask you. Is there any configurations in IBM MQ for each client servers(eg: our 2 windows server)? |
Yes - the attribute I mentioned 5 posts ago and Roger referred to in his very helpful post! _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
|
RogerLacroix |
Posted: Tue Apr 17, 2018 10:26 am Post subject: |
|
|
Jedi Knight
Joined: 15 May 2001 Posts: 3258 Location: London, ON Canada
|
sathyapbe wrote: |
While doing the testing we were using our windows CAT server and pointed to PROD IBM MQ. It was working as expected. |
Whoever approved this should be fired (maybe everyone involved). And people wonder why there are some many security breaches.
sathyapbe wrote: |
The problem is 2 different windows server used to send the request to IBM MQ(same server, queue manager, queues, channel,...). From one windows server request doesn't have additional headers but from another windows server request has additional headers. |
You give us next to nothing in information. How come you didn't answer any of my questions?
Here is a list of questions that you should have answer to before posting here AND include it here too:
- What version of MQ Client is installed on the CAT Windows server
- What version of MQ Client is installed on the PROD Windows server
- What version of MQ Server is installed on the PROD server
- How many queue managers are involved?
- Show me the value for PROPCTL for the target queue
i.e. DIS Q(ABC.Q) PROPCTL
- Show me the Put-Appl Name from the message's MQMD for BOTH messages - one good & one bad
Regards,
Roger Lacroix
Capitalware Inc. _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
|
bruce2359 |
Posted: Tue Apr 17, 2018 10:26 am Post subject: |
|
|
Poobah
Joined: 05 Jan 2008 Posts: 9442 Location: US: west coast, almost. Otherwise, enroute.
|
So, you are saying that the exact same source and executable application program running on two different o/s's is producing different results?
You have examined the compile date/time stamps of the executable on both platforms, and they are identical? The apps are the exact same size in the filesystem?
These apps are stand-alone? Not called as subprograms, possibly with different arguments? _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
|
fjb_saper |
Posted: Tue Apr 17, 2018 10:42 am Post subject: |
|
|
Grand High Poobah
Joined: 18 Nov 2003 Posts: 20729 Location: LI,NY
|
Are you using XMS? _________________ MQ & Broker admin |
|
Back to top |
|
|
sathyapbe |
Posted: Tue Apr 17, 2018 10:50 am Post subject: |
|
|
Novice
Joined: 16 Apr 2018 Posts: 21
|
RogerLacroix,
Don't worry about security breach Its a brand new application and the real time customer data not used for the testing. The only thing is test accounts created in PROD environment. We have n-number of checkpoint before go live.
Please find my inline comments.
- What version of MQ Client is installed on the CAT Windows server
sathyapbe-amqmdnet.dll V.8.0.0.4
- What version of MQ Client is installed on the PROD Windows server
sathyapbe-amqmdnet.dll V.8.0.0.4
- What version of MQ Server is installed on the PROD server
sathyapbe-IBM web Sphere MQ V.7(Will double check with them and let you know)
- How many queue managers are involved?
sathyapbe-Only one
- Show me the value for PROPCTL for the target queue
i.e. DIS Q(ABC.Q) PROPCTL
sathyapbe-not used the property from client code. Is this property belongs to client code or server side configuration?
- Show me the Put-Appl Name from the message's MQMD for BOTH messages - one good & one bad
sathyapbe-
_requestQueue = _mqQMgr.AccessQueue(_requestQueueName,
MQC.MQOO_OUTPUT // open queue for output
+ MQC.MQOO_FAIL_IF_QUIESCING); // but not if MQM stopping
string utf8_request = string.Empty;
byte[] utf16Bytes = Encoding.Unicode.GetBytes(request);
byte[] utf8Bytes = Encoding.Convert(Encoding.Unicode, Encoding.UTF8, utf16Bytes);
_requestMessage = new MQMessage();
_requestMessage.Write(utf8Bytes);
_requestMessage.Format = MQC.MQFMT_STRING;
_requestMessage.MessageType = MQC.MQMT_REQUEST;
_requestMessage.Report = MQC.MQRO_COPY_MSG_ID_TO_CORREL_ID;
_requestMessage.ReplyToQueueName = _responseQueueName;
_requestMessage.ReplyToQueueManagerName = _queueManagerName;
_requestMessage.MQMD.CodedCharacterSetId = MQC.CODESET_UTF;
_requestMessage.Expiry = Convert.ToInt32(_requestMsgTimeOut);
_requestQueue.Put(_requestMessage); |
|
Back to top |
|
|
Vitor |
Posted: Tue Apr 17, 2018 11:29 am Post subject: |
|
|
Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
sathyapbe wrote: |
- Show me the value for PROPCTL for the target queue
i.e. DIS Q(ABC.Q) PROPCTL
sathyapbe-not used the property from client code. Is this property belongs to client code or server side configuration? |
It's clear from Roger's question that this is a queue attribute not a code property. If it wasn't clear, I explicitly told you it was earlier. If there's something worse than not answering a question, it's not reading it.
If you're using the same queue in both instances (and I echo Roger's comments - the fact you have no real customer data for your app does not excuse the fact you've exposed your production environment to attach & the removal of data used by other applications) then it's clearly the attribute on the channel which is at question.
Attempt some individual & creative thought about your own problem. We're volunteers with day jobs who have better things to do than spoon feed you solutions. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
|
sathyapbe |
Posted: Tue Apr 17, 2018 10:34 pm Post subject: |
|
|
Novice
Joined: 16 Apr 2018 Posts: 21
|
bruce2359 wrote: |
So, you are saying that the exact same source and executable application program running on two different o/s's is producing different results?
You have examined the compile date/time stamps of the executable on both platforms, and they are identical? The apps are the exact same size in the filesystem?
These apps are stand-alone? Not called as subprograms, possibly with different arguments? |
Yes same build from 2 different servers(similar windows server).
Its a web service and invoked by another application. Both the server web services are invoked by the same Application. |
|
Back to top |
|
|
sathyapbe |
Posted: Tue Apr 17, 2018 10:36 pm Post subject: |
|
|
Novice
Joined: 16 Apr 2018 Posts: 21
|
fjb_saper wrote: |
Are you using XMS? |
No its not a XMS. I am using amqmdnet and it is the MQ's native API implementation. |
|
Back to top |
|
|
fjb_saper |
Posted: Wed Apr 18, 2018 12:17 am Post subject: |
|
|
Grand High Poobah
Joined: 18 Nov 2003 Posts: 20729 Location: LI,NY
|
sathyapbe wrote: |
fjb_saper wrote: |
Are you using XMS? |
No its not a XMS. I am using amqmdnet and it is the MQ's native API implementation. |
So are you creating an MQRFH in the headers and putting the message on the queue, or just setting message properties and putting the message on the queue? _________________ MQ & Broker admin |
|
Back to top |
|
|
sathyapbe |
Posted: Wed Apr 18, 2018 2:24 am Post subject: |
|
|
Novice
Joined: 16 Apr 2018 Posts: 21
|
fjb_saper wrote: |
so you get 2085 error which means the queue does not exist on the queue manager you are connected to. Try "queue://QMGRNAME/QNAME?targetClient=1" or if cluster replace QMGRNAME with cluster alias name... |
Same error message. |
|
Back to top |
|
|
sathyapbe |
Posted: Wed Apr 18, 2018 2:27 am Post subject: |
|
|
Novice
Joined: 16 Apr 2018 Posts: 21
|
fjb_saper wrote: |
sathyapbe wrote: |
fjb_saper wrote: |
Are you using XMS? |
No its not a XMS. I am using amqmdnet and it is the MQ's native API implementation. |
So are you creating an MQRFH in the headers and putting the message on the queue, or just setting message properties and putting the message on the queue? |
Just setting message property and putting the message. PFB,
questQueue = _mqQMgr.AccessQueue(_requestQueueName,
MQC.MQOO_OUTPUT // open queue for output
+ MQC.MQOO_FAIL_IF_QUIESCING); // but not if MQM stopping
string utf8_request = string.Empty;
byte[] utf16Bytes = Encoding.Unicode.GetBytes(request);
byte[] utf8Bytes = Encoding.Convert(Encoding.Unicode, Encoding.UTF8, utf16Bytes);
_requestMessage = new MQMessage();
_requestMessage.Write(utf8Bytes);
_requestMessage.Format = MQC.MQFMT_STRING;
_requestMessage.MessageType = MQC.MQMT_REQUEST;
_requestMessage.Report = MQC.MQRO_COPY_MSG_ID_TO_CORREL_ID;
_requestMessage.ReplyToQueueName = _responseQueueName;
_requestMessage.ReplyToQueueManagerName = _queueManagerName;
_requestMessage.MQMD.CodedCharacterSetId = MQC.CODESET_UTF;
_requestMessage.Expiry = Convert.ToInt32(_requestMsgTimeOut);
_requestQueue.Put(_requestMessage); |
|
Back to top |
|
|
sathyapbe |
Posted: Wed Apr 18, 2018 2:33 am Post subject: |
|
|
Novice
Joined: 16 Apr 2018 Posts: 21
|
Vitor wrote: |
sathyapbe wrote: |
- Show me the value for PROPCTL for the target queue
i.e. DIS Q(ABC.Q) PROPCTL
sathyapbe-not used the property from client code. Is this property belongs to client code or server side configuration? |
It's clear from Roger's question that this is a queue attribute not a code property. If it wasn't clear, I explicitly told you it was earlier. If there's something worse than not answering a question, it's not reading it.
If you're using the same queue in both instances (and I echo Roger's comments - the fact you have no real customer data for your app does not excuse the fact you've exposed your production environment to attach & the removal of data used by other applications) then it's clearly the attribute on the channel which is at question.
Attempt some individual & creative thought about your own problem. We're volunteers with day jobs who have better things to do than spoon feed you solutions. |
Sorry..its not because of ignoring the message. It's quite difficult to understand the terminology as I said I am new to IBM MQ integration.
I sent a mail to MQ admin to get the PROPCTL attribute value in the MQ channel and queues and will let you know once I received the response.
Thanks for your valuable time! |
|
Back to top |
|
|
sathyapbe |
Posted: Thu Apr 19, 2018 1:40 am Post subject: |
|
|
Novice
Joined: 16 Apr 2018 Posts: 21
|
PROPCTL attribute value is COMPAT for both request and response queue and they are saying that they cannot change the value because it is used by other platform applications also.
Is there any other way to force to stop the additional headers from C# client code? Please advise. |
|
Back to top |
|
|
|