Author |
Message
|
katoch |
Posted: Mon Jun 21, 2004 9:24 am Post subject: MQ SERIES 2033 error code |
|
|
Newbie
Joined: 25 Feb 2004 Posts: 8
|
I am getting the below message and my MQ Series is not working, I am new to MQ .
2033 - Error occured in Get Message. Error description is MQAX200.MQueue::Get CompletionCode = 2, ReasonCode = 2033, ReasonName = MQRC_NO_MSG_AVAILABLE Message trying to read () Message ID (D6D5B113E341407180EA2A91) Queue Manager (NK1) Queue (SERVER.IMS.CLMINF.OUT).
Any help how to resolve this error, as I am not able to connect to the Mainframe due to this error, I am not able to do PUT or GET at all. |
|
Back to top |
|
 |
bower5932 |
Posted: Mon Jun 21, 2004 9:30 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
A 2033 error is telling that you are issuing a get and that there are no messages available. At this point, I'd guess that you have connected. The error message is printing out a message id. This could be your problem. You could zero this out and attempt to get any message that is available from the queue. |
|
Back to top |
|
 |
katoch |
Posted: Mon Jun 21, 2004 9:33 am Post subject: 2033 |
|
|
Newbie
Joined: 25 Feb 2004 Posts: 8
|
Sorry, I do not understand MQ Series at all, could you please tell me more... |
|
Back to top |
|
 |
bower5932 |
Posted: Mon Jun 21, 2004 9:36 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
In order to work with MQ, you have to do the following:
- Connect to a queue manager
- Open a queue (or queues)
- Put a message to a queue or Get a message from a queue
- Close the queue
- Disconnect from the queue manager
Once the open is done, you can do the puts/gets until you are done. You can also open more than one queue at a time.
The 2033 error is an error that you receive when there are no messages available to get. It is a normal response from a get. There are two main reasons for getting it:
- There are no messages available
- You are trying to get a message with a specific id and there isn't a message with that id on the queue
Without knowing more about your application, I can't say why you are getting it. However, I can tell you that you've already done a lot (ie, connected and opend a queue) with MQ in your code. |
|
Back to top |
|
 |
katoch |
Posted: Mon Jun 21, 2004 10:27 am Post subject: Info |
|
|
Newbie
Joined: 25 Feb 2004 Posts: 8
|
Let me provide some more info about the application this evening and then I think you'll get the clear idea. Thanks for the help till this point. |
|
Back to top |
|
 |
katoch |
Posted: Mon Jun 21, 2004 11:53 am Post subject: MQGMO_WAIT |
|
|
Newbie
Joined: 25 Feb 2004 Posts: 8
|
After researching it seems the problem might be with MQGMO_WAIT or with increasing the time out interval, but I dont know where to do that, any idea. |
|
Back to top |
|
 |
bower5932 |
Posted: Mon Jun 21, 2004 12:25 pm Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
I'd suggest that you take a look at some of the samples that ship with the product. amqsget0.c is one that issues an mqget with a timed wait. |
|
Back to top |
|
 |
katoch |
Posted: Tue Jun 22, 2004 5:13 am Post subject: put/get modules |
|
|
Newbie
Joined: 25 Feb 2004 Posts: 8
|
As GET is working fine but PUT is timing out, I saw my code and PUT does not have wait interval, please have a look below, I think I need to add the wait interval, also there is a router change with the Mainframe so it seems that also caused the problem, please advise.
PUT MODULE IN VB
Set PutMsg = MQSess.AccessMessage()
PutMsg.Format = "MQSTR "
PutMsg.MessageData = sMsg
Set PutOptions = MQSess.AccessPutMessageOptions()
PutOptions.Options = PutOptions.Options Or MQPMO_NO_SYNCPOINT
PutMsg.CorrelationId = sCorrelationID ' must be 24 chars in length
GET MODULE IN VB
Set Queue = QMgr.AccessQueue(sQueue, MQOO_OUTPUT Or MQOO_INPUT_AS_Q_DEF) 'EASE.MINA.CLMTINFO.IN
bQueueOpen = True
Set GetMsg = MQSess.AccessMessage()
GetMsg.CorrelationId = sCorrelationID ' must be 24 chars in length
Set GetOptions = MQSess.AccessGetMessageOptions()
GetOptions.WaitInterval = 15000 ' milliseconds
GetOptions.Options = MQGMO_WAIT 'GetOptions.Options Or MQPMO_NO_SYNCPOINT |
|
Back to top |
|
 |
kevinf2349 |
Posted: Tue Jun 22, 2004 5:24 am Post subject: |
|
|
 Grand Master
Joined: 28 Feb 2003 Posts: 1311 Location: USA
|
There is no wait interval on a PUT. (RTFM)
It sounds to me more likely that the router change is causing the problem. Are you getting any messages onto the dead letter queue? |
|
Back to top |
|
 |
bower5932 |
Posted: Tue Jun 22, 2004 7:09 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
Your original error:
Quote: |
2033 - Error occured in Get Message. Error description is MQAX200.MQueue::Get CompletionCode = 2, ReasonCode = 2033, ReasonName = MQRC_NO_MSG_AVAILABLE Message trying to read () Message ID (D6D5B113E341407180EA2A91) Queue Manager (NK1) Queue (SERVER.IMS.CLMINF.OUT).
|
was in a get. I'd suggest that you get with whoever is supposed to be receiving your PUT message to see if he got it. |
|
Back to top |
|
 |
katoch |
Posted: Tue Jun 22, 2004 10:20 am Post subject: resolution going on |
|
|
Newbie
Joined: 25 Feb 2004 Posts: 8
|
As of now it seems from my side everything is fine, but the Mainframe program, which handles the PUT/GET is failing so those people are working on it, I'll update you once I get more information, thanks a lot for your help till this point, you guys are the best. |
|
Back to top |
|
 |
katoch |
Posted: Tue Jun 22, 2004 11:31 am Post subject: THANKS-Problem resolved |
|
|
Newbie
Joined: 25 Feb 2004 Posts: 8
|
Thanks a lot , my problem is fixed now! It took some time to convince the Mainframe people that my program is able to communicate with them and it was at their end which was saying there are no messages.
Eventually their program failed one week back but they dont have it designed so as to give any error messges, as soon as they re-ran that program it started working.
Thank you! |
|
Back to top |
|
 |
|