ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum IndexIBM MQ API SupportC# to IBM MQ-Remove the MQHRF2 from the requests

Post new topicReply to topic Goto page Previous  1, 2, 3  Next
C# to IBM MQ-Remove the MQHRF2 from the requests View previous topic :: View next topic
Author Message
Vitor
PostPosted: Tue Apr 17, 2018 9:27 am Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 25180
Location: Ohio, 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
View user's profile Send private message
sathyapbe
PostPosted: Tue Apr 17, 2018 10:10 am Post subject: Reply with quote

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
View user's profile Send private message
Vitor
PostPosted: Tue Apr 17, 2018 10:25 am Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 25180
Location: Ohio, 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
View user's profile Send private message
RogerLacroix
PostPosted: Tue Apr 17, 2018 10:26 am Post subject: Reply with quote

Jedi Knight

Joined: 15 May 2001
Posts: 3069
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
View user's profile Send private message Visit poster's website
bruce2359
PostPosted: Tue Apr 17, 2018 10:26 am Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 8132
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 would tell you a UDP joke, but you might not get it.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Apr 17, 2018 10:42 am Post subject: Reply with quote

Grand Poobah

Joined: 18 Nov 2003
Posts: 19744
Location: LI,NY

Are you using XMS?
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
sathyapbe
PostPosted: Tue Apr 17, 2018 10:50 am Post subject: Reply with quote

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
View user's profile Send private message
Vitor
PostPosted: Tue Apr 17, 2018 11:29 am Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 25180
Location: Ohio, 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
View user's profile Send private message
sathyapbe
PostPosted: Tue Apr 17, 2018 10:34 pm Post subject: Reply with quote

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
View user's profile Send private message
sathyapbe
PostPosted: Tue Apr 17, 2018 10:36 pm Post subject: Reply with quote

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
View user's profile Send private message
fjb_saper
PostPosted: Wed Apr 18, 2018 12:17 am Post subject: Reply with quote

Grand Poobah

Joined: 18 Nov 2003
Posts: 19744
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
View user's profile Send private message Send e-mail
sathyapbe
PostPosted: Wed Apr 18, 2018 2:24 am Post subject: Reply with quote

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
View user's profile Send private message
sathyapbe
PostPosted: Wed Apr 18, 2018 2:27 am Post subject: Reply with quote

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
View user's profile Send private message
sathyapbe
PostPosted: Wed Apr 18, 2018 2:33 am Post subject: Reply with quote

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
View user's profile Send private message
sathyapbe
PostPosted: Thu Apr 19, 2018 1:40 am Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:
Post new topicReply to topic Goto page Previous  1, 2, 3  Next Page 2 of 3

MQSeries.net Forum IndexIBM MQ API SupportC# to IBM MQ-Remove the MQHRF2 from the requests
Jump to:



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP


Theme by Dustin Baccetti
Powered by phpBB 2001, 2002 phpBB Group

Copyright MQSeries.net. All rights reserved.