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 » MQ series problem please reply asap

Post new topic  Reply to topic Goto page Previous  1, 2
 MQ series problem please reply asap « View previous topic :: View next topic » 
Author Message
mqonnet
PostPosted: Tue Apr 09, 2002 12:29 pm    Post subject: Reply with quote

Grand Master

Joined: 18 Feb 2002
Posts: 1114
Location: Boston, Ma, Usa.

As told you earlier, this one got me for sure.

Just to clarify one more thing. Could you please post the output of the following command

dis qmgr

Also could you please verify if you have any Aliases defined for this queue manager or the local queue do.day.queue.

Cheers.
Kumar

_________________
IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator
Back to top
View user's profile Send private message Send e-mail Visit poster's website
vinayak
PostPosted: Tue Apr 09, 2002 12:37 pm    Post subject: Reply with quote

Novice

Joined: 07 Apr 2002
Posts: 17

Kumar,
I don't have any aliases defined .
Also these are the qmgr details

1.brain.queue.manager(source qmgr
1 : dis qmgr
AMQ8408: Display Queue Manager details.
DESCR(SWIFT services queue manager) DEADQ(SYSTEM.DEAD.LETTER.QUEUE)
DEFXMITQ( ) CHADEXIT( )
COMMANDQ(SYSTEM.ADMIN.COMMAND.QUEUE) QMNAME(brain.queue.manager)
TRIGINT(999999999) MAXHANDS(256)
MAXUMSGS(10000) AUTHOREV(DISABLED)
INHIBTEV(DISABLED) LOCALEV(DISABLED)
REMOTEEV(DISABLED) PERFMEV(DISABLED)
STRSTPEV(ENABLED) CHAD(DISABLED)
CHADEV(DISABLED) MAXMSGL(4194304)
MAXPRTY(9) CCSID(819)
CMDLEVEL(500) PLATFORM(UNIX)
SYNCPT DISTL(YES)

2)dtc_srvc.queue.manager
1 : dis qmgr
AMQ8408: Display Queue Manager details.
DESCR(DTC services queue manager) DEADQ(SYSTEM.DEAD.LETTER.QUEUE)
DEFXMITQ( ) CHADEXIT( )
COMMANDQ(SYSTEM.ADMIN.COMMAND.QUEUE) QMNAME(dtc_srvc.queue.manager)
TRIGINT(999999999) MAXHANDS(256)
MAXUMSGS(10000) AUTHOREV(DISABLED)
INHIBTEV(DISABLED) LOCALEV(DISABLED)
REMOTEEV(DISABLED) PERFMEV(DISABLED)
STRSTPEV(ENABLED) CHAD(DISABLED)
CHADEV(DISABLED) MAXMSGL(4194304)
MAXPRTY(9) CCSID(819)
CMDLEVEL(500) PLATFORM(UNIX)
SYNCPT DISTL(YES)
Back to top
View user's profile Send private message
mqonnet
PostPosted: Tue Apr 09, 2002 12:53 pm    Post subject: Reply with quote

Grand Master

Joined: 18 Feb 2002
Posts: 1114
Location: Boston, Ma, Usa.

And.... This is what is the problem.

Your QM names are in lower cases. That explains why "amqcrsta" worked fine. You need to change your remote queue definition at the sender end to include the QM name in lower case. You have to always use the same name as you define for the queue manager. If the QM is defined in lower case, then while including the name of QM in any definition, such as remote queue, you have to include the name within single quotes. So your remote queue definition MUST look something like

DEFINE QREMOTE(DO.DAY.QUEUE) RQMNAME('dtc_srvc.queue.manager') +
RNAME(DO.DAY.QUEUE) +
DESCR('Remote queue on DTC services QM') +
XMITQ(DTC_SRVC.QUEUE.MANAGER) REPLACE

Huh... Relieved that MQ still is intact...


Cheers.
Kumar

_________________
IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator
Back to top
View user's profile Send private message Send e-mail Visit poster's website
vinayak
PostPosted: Tue Apr 09, 2002 1:05 pm    Post subject: Reply with quote

Novice

Joined: 07 Apr 2002
Posts: 17

Hey Kumar,

Thaaaaaaaank you very Much man. I had almost gone crazy with this MQ

Thanks to stefan tooo.

Cheers,
Vinayak
Back to top
View user's profile Send private message
StefanSievert
PostPosted: Tue Apr 09, 2002 1:29 pm    Post subject: Reply with quote

Partisan

Joined: 28 Oct 2001
Posts: 333
Location: San Francisco

Vinayak,
glad that it works now and even happier that my first idea was not totally off topic. I have myself fallen into this pitfall far too often and have decided a long time ago to ONLY USE UPPERCASE names for MQ objects. This has proven to be extremely helpful because, depending on what part of MQ you touch, it behaves different. RUNMQSC folds everything to uppercase, the command line commands and sample programs take it as it is, like the GUI in NT. It's a bit of a mess. Anyway, just to answer Kumars comment:
Quote:

On 2002-04-09 13:00, mqonnet wrote:
Vinayak,

As i mentioned earlier, AMQSBCG would not get any useful information. Reason being, all the info including the Reason code, is within the "Message" bit of the Amqsbcg output. Hence, what you need to do is, either get a program to display the Dead letter queue "Message" in appropriate format, or modify the Amqsbcg program by yourself and display each value from the buffer after MQGET using MQDLH structure. This would give the clear picutre.

By the way, how did you figure out that the error was 2087. Not quite sure if it would be logged to the mqerror log. And sure it will not and does not appear on the amqsbcg output.

Cheers.
Kumar


The output of amqsbcgc tells you everything you need to know (if you know the layout of the MQDLH structure, that is) :

00000000: 444C 4820 0000 0001
First four bytes: 'DLH ', then the structure version (1)

0000 0827 444F 2E44 'DLH .......'DO.D'
00000010: 4159 2E51 5545 5545 2020 2020 2020 2020 'AY.QUEUE '
00000020: 2020 2020 2020 2020 2020 2020 2020 2020 ' '

Here we have the reason code: 827 hex = 2087 dec, followed by the destination queue name: DO.DAY.QUEUE

00000030: 2020 2020 2020 2020 2020 2020 4454 435F ' DTC_'
00000040: 5352 5643 2E51 5545 5545 2E4D 414E 4147 'SRVC.QUEUE.MANAG'
00000050: 4552 2020 2020 2020 2020 2020 2020 2020 'ER '
And here is the uppercase destination queue manager name of the original message, that could not be found!

00000060: 2020 2020 2020 2020 2020 2020 0000 0111 ' ....'
00000070: 0000 0333 4D51 5354 5220 2020 0000 0006 '...3MQSTR ....'
The Encoding was 273 (111hex), the CCSID was 819 (333hex), the message format was MQSTR...

00000080: 616D 7163 7273 7461 5F64 2020 2020 2020 'amqcrsta_d '
It was the TCP/IP receiver channel agent who had the problem (ie. it was an inbound message from a client/different queue manager

00000090: 2020 2020 2020 2020 2020 2020 3230 3032 ' 2002'
000000A0: 3034 3039 3139 3331 3336 3031 7465 7374 '040919313601test'
And Vinayak (the receiving agent) originally tried it on April 9th 2002 at 19:31:36.01 GMT. The message text was 'test'

Hope that makes any sense. I always found this to be the quickest way to determine what went wrong, when I haven't had a utility at hand to print the formatted MQDLH header (which is easy to write).
Cheers,
Stefan
_________________
Stefan Sievert
IBM Certified * MQSeries

In the end everything is right. If not, it's not the end.


[ This Message was edited by: StefanSievert on 2002-04-09 14:34 ]

[ This Message was edited by: StefanSievert on 2002-04-09 14:35 ]
Back to top
View user's profile Send private message
mqonnet
PostPosted: Tue Apr 09, 2002 1:39 pm    Post subject: Reply with quote

Grand Master

Joined: 18 Feb 2002
Posts: 1114
Location: Boston, Ma, Usa.

You are right Stefan. One can very well see what is there in any message. And hence..
Quote
"As far as i understand you CANNOT see a message on DLQ in the appropriate format"..

was my earlier suggestion. And it is easy/handy as you also agreed to have an appropriate program to print the required messages on different queues. Such as DLQ, TQ and others.

Cheers.
Kumar

_________________
IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator
Back to top
View user's profile Send private message Send e-mail Visit poster's website
cvshiva
PostPosted: Wed Jun 19, 2002 8:25 pm    Post subject: Reply with quote

Apprentice

Joined: 04 Mar 2002
Posts: 35
Location: Chennai

Hi Vinayak,

May be a bit late...!!!

Being a bit inquisitive.. Did you get it fixed or not ?

If not I am happy to open the topic and get it fixed. If fixed can you let me know what was the problem. What my guess would be is the ObjectQMgrName / ObjectName and also the entry in the inetd.conf.

Regards
_________________
Ramnath Shiva
IBM Certified SOA Specialist
IBM Certified MQSeries Specialist
Standard Scope International Pvt Ltd , Chennai
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger MSN Messenger
PeterPotkay
PostPosted: Mon Jul 22, 2002 10:01 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

Stefan,
How do you make the leap from 00 00 08 27 to 2087? I am looking at a message in my OS/390 dead letter queue and see 00 00 01 0B for the reason code and don't know what to make of it. I see my INIT queue in the DLH, as well as MQTRIG and CSQQTRMN, so I assume my trigger monitor is having problems....
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
mqonnet
PostPosted: Tue Jul 23, 2002 5:02 am    Post subject: Reply with quote

Grand Master

Joined: 18 Feb 2002
Posts: 1114
Location: Boston, Ma, Usa.

Peter, as stefan explained, you need to walk through each bit of info and correlate with the MQDLH structure. That is how 00 00 08 27 to 2087 is resolved.
If this does not work out, then post your DLQ message and shall try to take it from there.

Cheers.
Kumar
_________________
IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator
Back to top
View user's profile Send private message Send e-mail Visit poster's website
PeterPotkay
PostPosted: Tue Jul 23, 2002 5:10 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

I can find the reason code on the DLH no prob, I'm just curious on the formula used to get 00 00 08 27 to 2087. In this case it looks like take the last byte (27), split it, and insert the 2nd to last byte (0. 2 08 7
That isn't the formula to use in all cases, is it?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
mqonnet
PostPosted: Tue Jul 23, 2002 5:58 am    Post subject: Reply with quote

Grand Master

Joined: 18 Feb 2002
Posts: 1114
Location: Boston, Ma, Usa.

Peter, there is no formula. As you can see, the message in DLQ has either Char or Numbers. Char is always MQCHAR, but numbers are always in HEX format.
Hence
0000 0827
The second byte has 0827 in hex and its equivalent in Dec is 2087.

Cheers.
Kumar
_________________
IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator
Back to top
View user's profile Send private message Send e-mail Visit poster's website
PeterPotkay
PostPosted: Tue Jul 23, 2002 6:03 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

duh.

Thanks Kumar.

In what case do you have to do byte reversal to compensate for Big Endian/Little Endian?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
mqonnet
PostPosted: Tue Jul 23, 2002 6:18 am    Post subject: Reply with quote

Grand Master

Joined: 18 Feb 2002
Posts: 1114
Location: Boston, Ma, Usa.

Peter, i am not really sure of the answer to your question.

But in theory, you need to have a Hex representation of all the fields in the MQDLH structure, before you could decode it to a readable/understandable format. And if you dont have a hex representation in the Dead letter queue, for the DLH message, then you need to first decode the message into hex format using the respective structures for the different data sets.

But my assumption is that the bit/little endian is restricted to the system and does not involve MQ messages in it, and even if it does, MQ would not have any other format other than hex in DLQ. Which leads me to the conclusion that you would have a Valid Hex format in the Dead letter queue.

Hope this helps.

Cheers.
Kumar
_________________
IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator
Back to top
View user's profile Send private message Send e-mail Visit poster's website
arunmakhija
PostPosted: Wed Feb 12, 2003 9:42 am    Post subject: Reply with quote

Novice

Joined: 17 Jun 2002
Posts: 20
Location: Sydney

Hi Kumar

Can you send me the program which prints the Dead letter Queue Header
I am having same kind of problems and need to to the reason code why my mesgs is in dead letter queue

regards
Joey
That one was for Vinayak , sorry kumar.... but my input why we are discussing so much about figuring out a hex dump when you have std structures to read your messages off the DLQ... MQDLH
and infact as I recollect Vinayak did mention having a program which does print the MQDLH Quoting his message

Code:
Kumar,
I got the reason code from another program which just reads
the header of the Dead letter Q and it is showing the same now too "
the famous "2087"
and i got the hex dump from amqbcg0.

This o/p from where i got the reason code might help u.

START OF MESSAGE NUMBER 1
MsgType = 8
Destination Queue Name = DO.DAY.QUEUE
Destination QMgr Name = DTC_SRVC.QUEUE.MANAGER
Sending Applicat Name = amqcrsta_d
Time Sent = 193136 (hhmmss)
Date Sent = 20020409 (yyyymmdd)
Delivery Failure Reason = 2087
DeadReplyQName =
DeadReplyQMgrName = brain.queue.manager
DeadFormat = MQDEAD
DeadPriority = 0
DeadPersistence = 0
DeadMsgType = 8
DeadMsgFlags = 0
DeadExpiry = -1
DeadMsgSeqNumber = 1
END OF MESSAGE 1

Thanks,
Vinayak


It looks pretty good and easier than deriving formulas for reading the hex dump

I need something like that too and am sure all of us here would appreciate if Vinayak can send us the program

regards
Joey
_________________
In Celebration of Being Alive !!!
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger MSN Messenger
mqonnet
PostPosted: Wed Feb 12, 2003 10:38 am    Post subject: Reply with quote

Grand Master

Joined: 18 Feb 2002
Posts: 1114
Location: Boston, Ma, Usa.

You can easily compile a program by yourself to read a dlh structure. When i get a chance, i shall put up one on this site.

But in the meanwhile you could as well follow Stefan's detailed explaination to find out the reason code etc from the msgs on DLQ.

Cheers.
Kumar
_________________
IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum Index » General IBM MQ Support » MQ series problem please reply asap
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.