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 Index » General IBM MQ Support » Issue with COD

Post new topic  Reply to topic
 Issue with COD « View previous topic :: View next topic » 
Author Message
ms_mq
PostPosted: Thu Nov 25, 2010 1:46 am    Post subject: Issue with COD Reply with quote

Acolyte

Joined: 23 Feb 2007
Posts: 69

Hi All,

We are facing some issues with COD (Confirmation of Delivery)generation. I know, COD is generally not recommended by some of the Experts in this forum. But, the sending application wants to have it

The sending application puts the message to the remote queue which reaches the Local MQ queue at our end.Once it reaches our queue , they are expecting a COD message on a Local queue at their end (SG.GLOBAL.REPLY).

Now the problem is, the message reaches our queue and it gets processed, but they are not receiving the COD. We are getting the below error in my Queue manager Error logs -

________________________________________________________
25/11/2010 14:46:49 - Process(4023.2184) User(mquser) Program(amqzlaa0_nd)
AMQ7310: Report message could not be put on a reply-to queue.

EXPLANATION:
The attempt to put a report message on queue SG.GLOBAL.REPLY on
queue manager SGQMPRD1 failed with reason code 2035. The message will be put
on the dead-letter queue.
ACTION:
Ensure that the reply-to queue is available and operational.
________________________________________________________

Their receiver channel MCAUSER is set to sgprdusr.The user identifier in their sending application code is also sgprdusr. Our sender channel MCAUSER is blank. mquser is our mq admin id .

The id sgprdusr on their server has PUT and setall authorisation on SG.GLOBAL.REPLY.

Please advise why we are getting the 2035 error and what needs to be done to resolve this problem. many thanks in advance.
_________________
Regards,
MS
Back to top
View user's profile Send private message
ms_mq
PostPosted: Thu Nov 25, 2010 3:22 am    Post subject: Reply with quote

Acolyte

Joined: 23 Feb 2007
Posts: 69

Please let me know what are all the things that needs to be taken care to make COD work ? Thanks.
_________________
Regards,
MS
Back to top
View user's profile Send private message
Mr Butcher
PostPosted: Thu Nov 25, 2010 4:33 am    Post subject: Reply with quote

Padawan

Joined: 23 May 2005
Posts: 1716

IMHO the COA is put with the userid of the MCA, and the COD is put with the userid of the application. this seems to be "mquser".

first you should check if your MQ object definitions cover the way back (mqopen on replytoq and replytoqmgr). most likely the qmgr is defined by xmitq name or by qmgr alias, but there are other possibilities too.
then define proper security for that "mquser" to allow it to put the COD depending on how you defined the way back.

IMHO, the security needed is for the remote qmgr name, but i did not verify that ....
_________________
Regards, Butcher
Back to top
View user's profile Send private message
ms_mq
PostPosted: Thu Nov 25, 2010 5:15 am    Post subject: Reply with quote

Acolyte

Joined: 23 Feb 2007
Posts: 69

Hi Butcher,

Thanks for your reply.

Do you mean COD is put with userid of the sending application? Then , in that case, sgprdusr is the application id and that is the useridentifier that has beem set in the application code. They PUT with sgprdusr id to our Queue and they expect COD back on their Queue SG.GLOBAL.REPLY.

BY any chance, should our (Receving side) mq id 'mquser' visible on their server or vice versa? It is a authorization problem, and i am still not clear why we are getting this error.
_________________
Regards,
MS
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Nov 25, 2010 6:03 am    Post subject: Reply with quote

Grand High Poobah

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

You are getting this error on the qmgr sending the COD because the application user on the message is not allowed to put to sdrqmgr on the qmgr sending the COD.

Don't know if setting an mcauser on the receiving channel on the processing MQ server would help...

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Mr Butcher
PostPosted: Thu Nov 25, 2010 7:03 am    Post subject: Reply with quote

Padawan

Joined: 23 May 2005
Posts: 1716

Quote:
Do you mean COD is put with userid of the sending application?


no, the COD is put with the userid of the receiving (consuming) application, because the COD is created at the time of the MQGET.
_________________
Regards, Butcher
Back to top
View user's profile Send private message
bruce2359
PostPosted: Thu Nov 25, 2010 7:04 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9409
Location: US: west coast, almost. Otherwise, enroute.

COA message is created by the receiving-end message channel agent. COA message indicates that the app message has arrived on queue.

COD message is created by the qmgr when the message is delivered to a consuming application.
_________________
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
View user's profile Send private message
exerk
PostPosted: Thu Nov 25, 2010 9:34 am    Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

bruce2359 wrote:
...COD message is created by the qmgr when the message is delivered to a consuming application...


Using the sgprdusr userid in the original MQMD - in other words, unless you have the 'same' user defined on the system creating the COD, and with the appropriate authorities to put to the queue, you will hit this error. From the manual: "...In certain circumstances, when a report message is generated, it is put using the authority of the user ID in the UserIdentifier field of the message causing the report. In particular, confirm-on-delivery (COD) reports and expiration reports are always put with this authority..."

If you are on a UNIX platform, have a look at THIS, it's useful as once set you will be given not only the entity making the call, but what call it issued, or if on Windows try THIS one. A little more awkward than the above, but still as useful.

As to the utility of COA/COD messages, consider the fact that they may not make it back to the origin of the message causing them to be created, and what does your application do then?
_________________
It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Thu Nov 25, 2010 10:06 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9409
Location: US: west coast, almost. Otherwise, enroute.

Quote:
Now the problem is, the message reaches our queue and it gets processed, but they are not receiving the COD

COD means only that the message was delivered to (consumed by) some application. COD does not guarantee that the app that consumed the message was the app that was supposed to process the message.

The relative value of COA and COD have been discussed at great length here. Please search, and read. The question that the developers need to ponder is: "what will the requesting app know with certainty if it does or does not receive COA and/or COD?"

Search here also for well-written and well-behaved applications. All part of the same COA/COD discussion.
_________________
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
View user's profile Send private message
ms_mq
PostPosted: Fri Nov 26, 2010 5:12 am    Post subject: Reply with quote

Acolyte

Joined: 23 Feb 2007
Posts: 69

Hi All,

Thanks a lot for the clarification . Thanks once again.
_________________
Regards,
MS
Back to top
View user's profile Send private message
gbaddeley
PostPosted: Sun Nov 28, 2010 3:04 pm    Post subject: Reply with quote

Jedi Knight

Joined: 25 Mar 2003
Posts: 2501
Location: Melbourne, Australia

bruce2359 wrote:

COD means only that the message was delivered to (consumed by) some application. COD does not guarantee that the app that consumed the message was the app that was supposed to process the message.


or that the app is going to process the message correctly...

Quote:
The relative value of COA and COD have been discussed at great length here. Please search, and read. The question that the developers need to ponder is: "what will the requesting app know with certainty if it does or does not receive COA and/or COD?"


A great way of putting it. I'd add "within a certain time frame".
_________________
Glenn
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » Issue with COD
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.