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 » WebSphere Message Broker (ACE) Support » Trace node not producing ExceptionList

Post new topic  Reply to topic
 Trace node not producing ExceptionList « View previous topic :: View next topic » 
Author Message
LH33
PostPosted: Fri Dec 12, 2003 10:44 am    Post subject: Trace node not producing ExceptionList Reply with quote

Master

Joined: 21 Nov 2002
Posts: 200

I have a message flow that is trying to process an XML transaction with unsupported XML characters in it. I want it to kick out to an error queue. I have a trace node wired to the Out, Failure and Catch node of my input terminal with $Root, and $ExceptionList in the pattern. Here is the input XML:

<SyncSpecFieldReport revision="1.0.0" environment="Test">
<ApplicationArea>
<Sender>
<Component>ROMS</Component>
<Confirmation>Never</Confirmation>
<AuthorizationId>C09244</AuthorizationId>
</Sender>
<CreationDateTime>2003-11-12T09:25:49</CreationDateTime>
<BODId>D66031D1E5F34400874711A5E1A32139</BODId>
</ApplicationArea>
<DataArea>
<SpecFieldReport>
<Location>
<Address>
<FreeFormat>R 5906 PARK-HGTS AV, -</FreeFormat>
</Address>
<Customer>
<Name>RAKHIL GOLDFARB</Name>
</Customer>
</Location>
<AgencyCode>EOM</AgencyCode>
<Shift>
<ShiftCode>DAY-4</ShiftCode>
<ShiftDate>2003-11-12</ShiftDate>
</Shift>
<WorkCodeUDFS>
<WorkCodeUDF index="71">Isolated def. Cable btwn trans. 0015 & 0016.</WorkCodeUDF>
</WorkCodeUDFS>
</SpecFieldReport>
</DataArea>
</SyncSpecFieldReport>

Here is the trace node contents off the failure terminal: (The trace node contents of the other two terminals are the same)


(
(0x1000000)Properties = (
(0x3000000)MessageSet = ''
(0x3000000)MessageType = ''
(0x3000000)MessageFormat = ''
(0x3000000)Encoding = 546
(0x3000000)CodedCharSetId = 437
(0x3000000)Transactional = TRUE
(0x3000000)Persistence = TRUE
(0x3000000)CreationTime = GMTTIMESTAMP '2003-12-12 18:22:17.070'
(0x3000000)ExpirationTime = -1
(0x3000000)Priority = 0
(0x3000000)ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x3000000)ReplyProtocol = 'MQ'
(0x3000000)Topic = NULL
)
(0x1000000)MQMD = (
(0x3000000)SourceQueue = 'DSPCH_OMS_UPDATED_DATA'
(0x3000000)Transactional = TRUE
(0x3000000)Encoding = 546
(0x3000000)CodedCharSetId = 437
(0x3000000)Format = 'MQSTR '
(0x3000000)Version = 2
(0x3000000)Report = 0
(0x3000000)MsgType = 8
(0x3000000)Expiry = -1
(0x3000000)Feedback = 0
(0x3000000)Priority = 0
(0x3000000)Persistence = 1
(0x3000000)MsgId = X'414d51204745544d5131202020202020b4dfd43f12305f05'
(0x3000000)CorrelId = X'000000000000000000000000000000000000000000000000'
(0x3000000)BackoutCount = 1
(0x3000000)ReplyToQ = ' '
(0x3000000)ReplyToQMgr = 'GETMQ1 '
(0x3000000)UserIdentifier = 'MTSRUN_MQ '
(0x3000000)AccountingToken = X'1601051500000008691451fa547e13c811bf7b421f000000000000000000000b'
(0x3000000)ApplIdentityData = ' '
(0x3000000)PutApplType = 11
(0x3000000)PutApplName = ':\WINNT\system32\dllhost.exe'
(0x3000000)PutDate = DATE '2003-12-12'
(0x3000000)PutTime = GMTTIME '18:22:17.070'
(0x3000000)ApplOriginData = ' '
(0x3000000)GroupId = X'000000000000000000000000000000000000000000000000'
(0x3000000)MsgSeqNumber = 1
(0x3000000)Offset = 0
(0x3000000)MsgFlags = 0
(0x3000000)OriginalLength = -1
)
)

After running this XML, the queue depth of my error queue is 1, however, when I look at the message there is no data there. Can someone help me understand why the message gets truncated as soon as it enters the input terminal and also why I don't see anything in my trace node. Thanks! Lisa
Back to top
View user's profile Send private message
skn
PostPosted: Fri Dec 12, 2003 11:42 am    Post subject: Reply with quote

Centurion

Joined: 21 May 2003
Posts: 112
Location: Dallas

Your entire message goes through input node.When it encounters the trace node it tries to parse it.Since your input is not a well formed XML,the parser throws an exception and does not parse the message.It can output to trace only the part of the message that is parsed.


When you say you look at the message, did you look at the trace node output or the message inside the queue.I believe you should get the entire message in the queue even though it fialed the parse.
Back to top
View user's profile Send private message
LH33
PostPosted: Fri Dec 12, 2003 11:45 am    Post subject: Reply with quote

Master

Joined: 21 Nov 2002
Posts: 200

I looked at the message on the queue and it was empty even though the depth says 1. Why doesn't the trace node show the exception that the parser throws?
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Fri Dec 12, 2003 12:31 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

LH33 wrote:
I looked at the message on the queue and it was empty even though the depth says 1. Why doesn't the trace node show the exception that the parser throws?


The exception list isn't populated when the failure terminal is called.

Also, if you have a problem like this, and you have a trace node on the failure terminal, and the trace node tries to parse the message...

You're going to get a loop. This is bad. This may also explain why you're not seeing the message on the queue or the backout queue, it's looping on the input queue.

You can disconnect the failure terminal, and add a throw node after the trace on the catch terminal. This will allow normal backout processing to occur, while still logging those errors that reach the catch node.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
skn
PostPosted: Fri Dec 12, 2003 12:31 pm    Post subject: Reply with quote

Centurion

Joined: 21 May 2003
Posts: 112
Location: Dallas

Well if the queue depth is 1 and you cant see the message , the only reason I can think of is message expiry .
Coming to the exceptions, try removing the $Root before the $Exception , or place it after $Exception.
Back to top
View user's profile Send private message
LH33
PostPosted: Mon Dec 15, 2003 7:53 am    Post subject: Reply with quote

Master

Joined: 21 Nov 2002
Posts: 200

I disconnected the failure terminal and added a throw node after the trace on the catch terminal. The messge now goes to the Dead letter queue and looks like the following:

00000000 DLH .... ....DSPC 444C4820 01000000 00000100 44535043
00000016 H_OMS_UP DATED_DA 485F4F4D 535F5550 44415445 445F4441
00000032 TA 54412020 20202020 20202020 20202020
00000048 GETM 20202020 20202020 20202020 4745544D
00000064 Q1 51312020 20202020 20202020 20202020
00000080 20202020 20202020 20202020 20202020
00000096 "... 20202020 20202020 20202020 22020000
00000112 ....MQST R .... B5010000 4D515354 52202020 0B000000
00000128 WebSpher eMQInteg 57656253 70686572 654D5149 6E746567
00000144 rator2 2003 7261746F 72322020 20202020 32303033
00000160 12151543 0900 31323135 31353433 30393030

Any ideas?

Thanks, Lisa
Back to top
View user's profile Send private message
Michael Dag
PostPosted: Mon Dec 15, 2003 8:40 am    Post subject: Reply with quote

Jedi Knight

Joined: 13 Jun 2002
Posts: 2607
Location: The Netherlands (Amsterdam)

Lisa,
don't know if this helps, but we simply add the exceptionlist to the message using a compute node.

So from your mqinput node hook up the catch terminal to a compute node

Copy entire message and ESQL:
SET Outputroot.XML.EXCEPTIONLIST = InputExceptionList;

Hook the compute node to an MQOutput node.

Michael
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
LH33
PostPosted: Mon Dec 15, 2003 9:04 am    Post subject: Reply with quote

Master

Joined: 21 Nov 2002
Posts: 200

I tried your suggestion and the message goes to the queue, however, there is no data in it. It appears as though as soon as it hits the input terminal, something happens that strips off the XML portion of the message and the only thing I can see is the following in a trace node wired to the out terminal of the input node :

(
(0x1000000)Properties = (
(0x3000000)MessageSet = ''
(0x3000000)MessageType = ''
(0x3000000)MessageFormat = ''
(0x3000000)Encoding = 546
(0x3000000)CodedCharSetId = 437
(0x3000000)Transactional = TRUE
(0x3000000)Persistence = TRUE
(0x3000000)CreationTime = GMTTIMESTAMP '2003-12-15 15:41:37.100'
(0x3000000)ExpirationTime = -1
(0x3000000)Priority = 0
(0x3000000)ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x3000000)ReplyProtocol = 'MQ'
(0x3000000)Topic = NULL
)
(0x1000000)MQMD = (
(0x3000000)SourceQueue = 'DSPCH_OMS_UPDATED_DATA'
(0x3000000)Transactional = TRUE
(0x3000000)Encoding = 546
(0x3000000)CodedCharSetId = 437
(0x3000000)Format = 'MQSTR '
(0x3000000)Version = 2
(0x3000000)Report = 0
(0x3000000)MsgType = 8
(0x3000000)Expiry = -1
(0x3000000)Feedback = 0
(0x3000000)Priority = 0
(0x3000000)Persistence = 1
(0x3000000)MsgId = X'414d51204745544d5131202020202020b4dfd43f12503809'
(0x3000000)CorrelId = X'000000000000000000000000000000000000000000000000'
(0x3000000)BackoutCount = 0
(0x3000000)ReplyToQ = ' '
(0x3000000)ReplyToQMgr = 'GETMQ1 '
(0x3000000)UserIdentifier = 'MTSRUN_MQ '
(0x3000000)AccountingToken = X'1601051500000008691451fa547e13c811bf7b421f000000000000000000000b'
(0x3000000)ApplIdentityData = ' '
(0x3000000)PutApplType = 11
(0x3000000)PutApplName = ':\WINNT\system32\dllhost.exe'
(0x3000000)PutDate = DATE '2003-12-15'
(0x3000000)PutTime = GMTTIME '15:41:37.100'
(0x3000000)ApplOriginData = ' '
(0x3000000)GroupId = X'000000000000000000000000000000000000000000000000'
(0x3000000)MsgSeqNumber = 1
(0x3000000)Offset = 0
(0x3000000)MsgFlags = 0
(0x3000000)OriginalLength = -1
)
)
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 » WebSphere Message Broker (ACE) Support » Trace node not producing ExceptionList
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.