Author |
Message
|
kimbert |
Posted: Mon Feb 23, 2009 1:43 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5543 Location: Southampton
|
The error message sounds quite alarming, but the usual reasons for BIP5294 are:
a) You have not deployed your message set
or
b) Your message set does not have a physical format with the specified name
or
c) your input node or ESQL is specifying the format name incorrectly ( common mistakes are 'TDS' instead of 'TDS1', or even 'CWF' instead of 'Binary1' )
b) and c) look the same to the message broker runtime, but they are caused by different types of user error. |
|
Back to top |
|
 |
RaviKrG |
Posted: Mon Feb 23, 2009 5:39 am Post subject: |
|
|
 Master
Joined: 07 Sep 2008 Posts: 240
|
Thanks Kimbert,
a) the msg set is deployed
b) i modified the msg set and now it contains 2 physical format XML1 and TEXT1
c) My input had the format "XML1"
Since I did not get any warning/errors in trace so I changed my msg set with two phy formats (XML1 and TEXT1) so that i can get anything from here also it contains two msg dictionary file one for input and other for output
now My input mode has the property as
Domain:MRM
Mes Set : MessageData
Msg type : InputFile
Format : XML1
in my comput node it i have set as for output
SET OutputRoot.Properties.MessageSet = 'IBSO4J4002001' ;
SET OutputRoot.Properties.MessageType = 'OutputFile' ;
SET OutputRoot.Properties.MessageFormat = 'Text1' ;
still I get only the headers in my output and no data value is defined.
Well is the above steps done right to proceed as still trying to get the user trace and find where the problem lies.Still trying |
|
Back to top |
|
 |
kimbert |
Posted: Mon Feb 23, 2009 5:55 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5543 Location: Southampton
|
Quote: |
still I get only the headers in my output |
Maybe you missed it. I think the problem is with the parsing. You need to
- add a Trace node
- take a user trace
- read the messages emitted into user trace by the TDS parser
- look at the message tree emitted into user trace by the Trace node |
|
Back to top |
|
 |
RaviKrG |
Posted: Wed Feb 25, 2009 6:29 pm Post subject: |
|
|
 Master
Joined: 07 Sep 2008 Posts: 240
|
I got this trace when I ran my flow:
( ['MQROOT' : 0x106d15db8]
(0x01000000):Properties = ( ['MQPROPERTYPARSER' : 0x10644e5c0]
(0x03000000):MessageSet = 'MessageData' (CHARACTER)
(0x03000000):MessageType = '{}:InputFile' (CHARACTER)
(0x03000000):MessageFormat = 'XML1' (CHARACTER)
(0x03000000):Encoding = 273 (INTEGER)
(0x03000000):CodedCharSetId = 819 (INTEGER)
(0x03000000):Transactional = TRUE (BOOLEAN)
(0x03000000):Persistence = FALSE (BOOLEAN)
(0x03000000):CreationTime = GMTTIMESTAMP '2009-02-23 12:13:09.510' (GMTTIMESTAMP)
(0x03000000):ExpirationTime = -1 (INTEGER)
(0x03000000):Priority = 0 (INTEGER)
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000):ReplyProtocol = 'MQ' (CHARACTER)
(0x03000000):Topic = NULL
(0x03000000):ContentType = '' (CHARACTER)
(0x03000000):IdentitySourceType = '' (CHARACTER)
(0x03000000):IdentitySourceToken = '' (CHARACTER)
(0x03000000):IdentitySourcePassword = '' (CHARACTER)
(0x03000000):IdentitySourceIssuedBy = '' (CHARACTER)
(0x03000000):IdentityMappedType = '' (CHARACTER)
(0x03000000):IdentityMappedToken = '' (CHARACTER)
(0x03000000):IdentityMappedPassword = '' (CHARACTER)
(0x03000000):IdentityMappedIssuedBy = '' (CHARACTER)
)
(0x01000000):MQMD = ( ['MQHMD' : 0x106d1be78]
(0x03000000):SourceQueue = 'INPUTQUEUE' (CHARACTER)
(0x03000000):Transactional = TRUE (BOOLEAN)
(0x03000000):Encoding = 273 (INTEGER)
(0x03000000):CodedCharSetId = 819 (INTEGER)
(0x03000000):Format = ' ' (CHARACTER)
(0x03000000):Version = 2 (INTEGER)
(0x03000000):Report = 0 (INTEGER)
(0x03000000):MsgType = 8 (INTEGER)
(0x03000000):Expiry = -1 (INTEGER)
(0x03000000):Feedback = 0 (INTEGER)
(0x03000000):Priority = 0 (INTEGER)
(0x03000000):Persistence = 0 (INTEGER)
(0x03000000):MsgId = X'414d5120554b42524b52325020202020499038632003e202' (BLOB)
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000):BackoutCount = 0 (INTEGER)
(0x03000000):ReplyToQ = ' ' (CHARACTER)
(0x03000000):ReplyToQMgr = 'QM1 ' (CHARACTER)
(0x03000000):UserIdentifier = ' ' (CHARACTER)
(0x03000000):AccountingToken = X'0000000000000000000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000):ApplIdentityData = ' ' (CHARACTER)
(0x03000000):PutApplType = 0 (INTEGER)
(0x03000000):PutApplName = ' ' (CHARACTER)
(0x03000000):PutDate = DATE '2009-02-23' (DATE)
(0x03000000):PutTime = GMTTIME '12:13:09.510' (GMTTIME)
(0x03000000):ApplOriginData = ' ' (CHARACTER)
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000):MsgSeqNumber = 1 (INTEGER)
(0x03000000):Offset = 0 (INTEGER)
(0x03000000):MsgFlags = 0 (INTEGER)
(0x03000000):OriginalLength = -1 (INTEGER)
)
(0x0100001B):MRM = ( ['mrm' : 0x106d8ce60]
(0x01000013):Batch = (
(0x0300000B):StudId = '' (CHARACTER)
(
(0x0300000D):atrr1 = 'ABX' (CHARACTER)
)
(0x01000013):Name = (
(0x0300000D):attr2 = 'AP02092008' (CHARACTER)
(0x0300000D):attr3 = '0' (CHARACTER)
(0x0300000D):attr4 = '2008-09-02' (CHARACTER)
(0x0300000D):attr11 = 'A56001' (CHARACTER)
(0x0300000D):attr5 = 'P99' (CHARACTER)
(0x0300000D):attr6 = '1' (CHARACTER)
(0x0300000D):attr7 = 'XYZ' (CHARACTER)
(0x0300000D):attr8 = '1' (CHARACTER)
(0x0300000D):attr9 = '1' (CHARACTER)
(0x0300000D):attr10 = '1' (CHARACTER)
(0x0300000B):Points = '' (CHARACTER)
(0x0300000B):Qty = '' (CHARACTER)
(0x0300000B):Amt = '' (CHARACTER)
(
(0x0300000D):Typ = 'File' (CHARACTER)
(0x0300000D):Amt = '0.00' (CHARACTER)
)
(0x0300000B):Amt = '' (CHARACTER)
(
(0x0300000D):Typ = 'Data' (CHARACTER)
(0x0300000D):Amt = '70.00' (CHARACTER)
)
-----------------------------------
-----------------------------------
-----------------------------------
( ['MQROOT' : 0x106d21728]
(0x01000000):Properties = ( ['MQPROPERTYPARSER' : 0x104752db0]
(0x03000000):MessageSet = 'IBSO4J4002001' (CHARACTER)
(0x03000000):MessageType = 'OutputFile' (CHARACTER)
(0x03000000):MessageFormat = 'Text1' (CHARACTER)
(0x03000000):Encoding = 273 (INTEGER)
(0x03000000):CodedCharSetId = 819 (INTEGER)
(0x03000000):Transactional = TRUE (BOOLEAN)
(0x03000000):Persistence = FALSE (BOOLEAN)
(0x03000000):CreationTime = GMTTIMESTAMP '2009-02-23 12:13:09.510' (GMTTIMESTAMP)
(0x03000000):ExpirationTime = -1 (INTEGER)
(0x03000000):Priority = 0 (INTEGER)
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000):ReplyProtocol = 'MQ' (CHARACTER)
(0x03000000):Topic = NULL
(0x03000000):ContentType = '' (CHARACTER)
(0x03000000):IdentitySourceType = '' (CHARACTER)
(0x03000000):IdentitySourceToken = '' (CHARACTER)
(0x03000000):IdentitySourcePassword = '' (CHARACTER)
(0x03000000):IdentitySourceIssuedBy = '' (CHARACTER)
(0x03000000):IdentityMappedType = '' (CHARACTER)
(0x03000000):IdentityMappedToken = '' (CHARACTER)
(0x03000000):IdentityMappedPassword = '' (CHARACTER)
(0x03000000):IdentityMappedIssuedBy = '' (CHARACTER)
)
(0x01000000):MQMD = ( ['MQHMD' : 0x106d23b70]
(0x03000000):SourceQueue = 'INPUTQUEUE' (CHARACTER)
(0x03000000):Transactional = TRUE (BOOLEAN)
(0x03000000):Encoding = 273 (INTEGER)
(0x03000000):CodedCharSetId = 819 (INTEGER)
(0x03000000):Format = ' ' (CHARACTER)
(0x03000000):Version = 2 (INTEGER)
(0x03000000):Report = 0 (INTEGER)
(0x03000000):MsgType = 8 (INTEGER)
(0x03000000):Expiry = -1 (INTEGER)
(0x03000000):Feedback = 0 (INTEGER)
(0x03000000):Priority = 0 (INTEGER)
(0x03000000):Persistence = 0 (INTEGER)
(0x03000000):MsgId = X'414d5120554b42524b52325020202020499038632003e202' (BLOB)
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000):BackoutCount = 0 (INTEGER)
(0x03000000):ReplyToQ = ' ' (CHARACTER)
(0x03000000):ReplyToQMgr = 'QM1 ' (CHARACTER)
(0x03000000):UserIdentifier = ' ' (CHARACTER)
(0x03000000):AccountingToken = X'0000000000000000000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000):ApplIdentityData = ' ' (CHARACTER)
(0x03000000):PutApplType = 0 (INTEGER)
(0x03000000):PutApplName = ' ' (CHARACTER)
(0x03000000):PutDate = DATE '2009-02-23' (DATE)
(0x03000000):PutTime = GMTTIME '12:13:09.510' (GMTTIME)
(0x03000000):ApplOriginData = ' ' (CHARACTER)
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000):MsgSeqNumber = 1 (INTEGER)
(0x03000000):Offset = 0 (INTEGER)
(0x03000000):MsgFlags = 0 (INTEGER)
(0x03000000):OriginalLength = -1 (INTEGER)
)
(0x01000021):MRM = ( ['mrm' : 0x106dd1e30]
(0x01000000):HeaderRow = (
(0x01000000):ColumnList = (
(0x03000000):ColumnName = 'field1' (CHARACTER)
(0x03000000):ColumnName = 'field2' (CHARACTER)
(0x03000000):ColumnName = 'field3' (CHARACTER)
(0x03000000):ColumnName = 'field4' (CHARACTER)
(0x03000000):ColumnName = 'field5' (CHARACTER)
(0x03000000):ColumnName = 'field6' (CHARACTER)
(0x03000000):ColumnName = 'field7' (CHARACTER)
(0x03000000):ColumnName = 'field8' (CHARACTER)
(0x03000000):ColumnName = 'field9' (CHARACTER)
(0x03000000):ColumnName = 'field10' (CHARACTER)
(0x03000000):ColumnName = 'field11' (CHARACTER)
(0x03000000):ColumnName = 'field12' (CHARACTER)
)
)
(0x01000000):DetailRow =
)
)
Now in my esql code I have something like:
DECLARE inRef REFERENCE TO InputRoot.XML.InputFile.Batch.Name;
DECLARE amtRef REFERENCE TO InputRoot.XML.InputFile;
-----
-----
While LASTMOVE(inRef) DO
-----
----
while running through the debugger when I check the value in inRef and amtRef I get the same xml tree.
In inRef/amtRef I get it as Batch --> StudId --> Name --> .............
Well for inref I have referenced to Batch.Name but I get the value from Batch.
Also LASTMOVE(inRef) always comes to FALSE and so it is not able to create the output DetailRow Data.
Can any body tell if I am missing something here ?  |
|
Back to top |
|
 |
kimbert |
Posted: Thu Feb 26, 2009 2:46 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5543 Location: Southampton
|
Aha! It does help when I actually *read* the error messages which you post
Quote: |
Executing statement ''DECLARE inRef REFERENCE TO InputRoot.XML.Message.Batch.StudId;''...
Failed to navigate to path element number '2' because it does not exist.
|
What is 'path element number '2''? It's the 'XML' in the above path.
Why are you trying to access a field in the XML domain, when your input message is in the MRM domain? ( actually, why are you trying to access anything in the deprected XML domain? But that's a different issue, and I must restrain myself ). |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Feb 26, 2009 9:01 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20767 Location: LI,NY
|
In the original message he specified that the message set has 2 formats
XML1 and TEXT1
Quote: |
b) i modified the msg set and now it contains 2 physical format XML1 and TEXT1 |
but then he sets the information in the Properties to:
Quote: |
SET OutputRoot.Properties.MessageFormat = 'Text1' ; |
Shouldn't that have been:
Code: |
SET OutputRoot.Properties.MessageFormat = 'TEXT1' ; |
If the case was incorrectly set, the formatter associated with the message set would not know of that physical format. Could that be the reason why only the headers have an output?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
RaviKrG |
Posted: Tue Mar 03, 2009 9:50 pm Post subject: |
|
|
 Master
Joined: 07 Sep 2008 Posts: 240
|
Today I dealt this issue after a long time and am happy as all is fine now.
Thanks every one for their help.
fjp_saper,
SET OutputRoot.Properties.MessageFormat = 'Text1' ;
this worked as my message set contaend the format "Text1" and there was no need for TEXT1.
Thanks |
|
Back to top |
|
 |
|