|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Zero length message put on queue |
« View previous topic :: View next topic » |
Author |
Message
|
p.cradwick |
Posted: Tue Jun 06, 2006 2:19 am Post subject: Zero length message put on queue |
|
|
Acolyte
Joined: 16 May 2001 Posts: 56
|
Hi,
I am using WMB v 6.0 and am trying to write an XML message to a queue, but while a message is written, there is no data - length 0. The usertrace shows message written with RC = 0, and WMQ Explorer show a message but with 0 length data! The node following the MQOutput is a trace and the message is written to a file correctly. A little further the message is sent in an email and this works fine too!
The message is persistent and written out of syncpoint. Debugger shows the message is present on OutputRoot.XML.
Any idea what causes the MQ Output to drop the data on writing to a queue?
Peter |
|
Back to top |
|
 |
wschutz |
Posted: Tue Jun 06, 2006 2:24 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
show us the ${Root} from the trace node .... _________________ -wayne |
|
Back to top |
|
 |
p.cradwick |
Posted: Tue Jun 06, 2006 5:15 pm Post subject: |
|
|
Acolyte
Joined: 16 May 2001 Posts: 56
|
Here is the ${Root}:
Trace log:
(0x01000000):Properties = (
(0x03000000):MessageSet = ''
(0x03000000):MessageType = ''
(0x03000000):MessageFormat = ''
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2006-06-07 00:11:06.760'
(0x03000000):ExpirationTime = 25920000
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
(0x03000000):ContentType = ''
)
(0x01000000):MQMD = (
(0x03000000):SourceQueue = 'TEST.IN'
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Format = ' '
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):MsgType = 8
(0x03000000):Expiry = 25920000
(0x03000000):Feedback = 0
(0x03000000):Priority = 0
(0x03000000):Persistence = 0
(0x03000000):MsgId = X'414d5120514d31202020202020202020b9e785442000a606'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = ' '
(0x03000000):ReplyToQMgr = 'QM1 '
(0x03000000):UserIdentifier = 'peter '
(0x03000000):AccountingToken = X'1601051500000060bfaf6103ab70c21a4a4d6ded03000000000000000000000b'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 11
(0x03000000):PutApplName = 'D:\MQSI\RFHUtil\rfhutil.exe '
(0x03000000):PutDate = DATE '2006-06-07'
(0x03000000):PutTime = GMTTIME '00:11:06.760'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x01000000):XML = (
(0x01000000):ExceptionReport = (
(0x03000000):MessageId = X'414d5120514d31202020202020202020b9e785442000a606'
(0x03000000):Time = TIMESTAMP '2006-06-07 12:11:07.520143'
(0x01000000):ExceptionDetails = (
(0x03000000):Module = 'WBIMB'
(0x03000000):Type = 'User thrown exception'
(0x03000000):Desc = 'Exception Message Number: (2950). Error Text: User generated exception'
(0x03000000):Data = 'Inserts: Insert [1] text = 23505 Insert [2] text = -1 Insert [3] text = [IBM][CLI Driver][DB2/NT] SQL0803N One or more values in the INSERT statement, UPDATE statement, or foreign key update caused by a DELETE statement are not valid because the primary key, unique constraint or unique index identified by "1" constrains table "PETER.PSINBOUND_RUN" from having duplicate rows for those columns. SQLSTATE=23505 Insert [4] text = -803 Insert [5] text = PSINBOUND_RUN Table insert failure'
(0x01000000):MessageData = (
(0x01000000):Message = (
(0x02000000): = '
'
(0x03000000):Reference = 'file1'
(0x02000000): = '
'
(0x03000000):Interface = 'Mine'
(0x02000000): = '
'
(0x03000000):MsgID = 'a1b2c3d4e5f6'
(0x02000000): = '
'
(0x03000000):StartData = '1'
(0x02000000): = '
'
(0x03000000):EndData = '9'
(0x02000000): = '
'
(0x03000000):Status = 'ok'
(0x02000000): = '
'
)
(0x02000000): = '
'
)
)
)
)
)
This is written AFTER the MQOutput node.
By 'playing around' I found the cause, but I don't understand it!
The code I was using is shown below - the commented out section:
---------------------------------------------------------------------
-- Create output message
---------------------------------------------------------------------
/* THIS CODE DOESN'T WORK!
CREATE LASTCHILD of OutputRoot NAME 'XML';
CREATE LASTCHILD of OutputRoot.XML NAME 'ExceptionReport';
DECLARE excRef REFERENCE TO OutputRoot.XML.ExceptionReport;
SET excRef.MessageId = InputRoot.MQMD.MsgId;
SET excRef.Time = current_timestamp;
*/
When I replaced the above with the code below, it worked as expected.
SET OutputRoot.XML.ExceptionReport.MessageId = InputRoot.MQMD.MsgId;
DECLARE excRef REFERENCE TO OutputRoot.XML.ExceptionReport;
SET excRef.Time = current_timestamp;
The problem is definitely the first CREATE as I tried it piecemeal as well i.e. replacing only the second CREATE still failed.
Puzzled
Peter |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Jun 06, 2006 6:19 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
|
Back to top |
|
 |
p.cradwick |
Posted: Tue Jun 06, 2006 11:13 pm Post subject: |
|
|
Acolyte
Joined: 16 May 2001 Posts: 56
|
Ah! You live and learn!
Thanks Jeff |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|