Author |
Message
|
Jain |
Posted: Fri Nov 25, 2011 3:23 am Post subject: TDS general data error |
|
|
 Novice
Joined: 11 Nov 2011 Posts: 21
|
I've encoded msg n i need to validate against the given msgsets details.
1st i'm decoding the msg(decoded msg is printing correctly) n then parsing..
msg set details.
Code: |
MessageDomain: MRM
MessageSet : XCDP62O002001
MessageType : MT910
MessageFormat : TDS
ENCODING 546 CCSID 819
m getting the Exception List.
( ['MQROOT' : 0x2a41ecb0]
(0x01000000:Name):RecoverableException = (
(0x03000000:NameValue):File = '/build/V610SRV/FP3/src/DataFlowEngine/ImbTraceNode.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 341 (INTEGER)
(0x03000000:NameValue):Function = 'ImbTraceNode::evaluate' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmTraceNode' (CHARACTER)
(0x03000000:NameValue):Name = 'Msg_Val#FCMComposite_1_8' (CHARACTER)
(0x03000000:NameValue):Label = 'Msg_Val.Trace3' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPv610' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 2230 (INTEGER)
(0x03000000:NameValue):Text = 'Caught exception and rethrowing' (CHARACTER)
(0x01000000:Name ):ParserException = (
(0x03000000:NameValue):File = '/build/S610P/src/MTI/MTIforBroker/MtiImbParser2/MtiImbParser.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 509 (INTEGER)
(0x03000000:NameValue):Function = 'MtiImbParser::parseFirstChild' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmMQInputNode' (CHARACTER)
(0x03000000:NameValue):Name = 'Msg_Val#FCMComposite_1_1' (CHARACTER)
(0x03000000:NameValue):Label = 'Msg_Val.MQInput' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPv610' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 5285 (INTEGER)
(0x03000000:NameValue):Text = 'ImbRecoverableException caught from worker->parseNext.' (CHARACTER)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'PXZY983' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 2 (INTEGER)
(0x03000000:NameValue):Text = '1' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'TDS' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = '/MT910' (CHARACTER)
)
(0x01000000:Name ):ParserException = (
(0x03000000:NameValue):File = '/build/S610P/src/cpi/pwf/nxd/nxdworker.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 462 (INTEGER)
(0x03000000:NameValue):Function = 'NXDWorker::parseNext' (CHARACTER)
(0x03000000:NameValue):Type = '' (CHARACTER)
(0x03000000:NameValue):Name = '' (CHARACTER)
(0x03000000:NameValue):Label = '' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPv610' (CHARACTER)
(0x03000000:NameValue):Severity = 1 (INTEGER)
(0x03000000:NameValue):Number = 5421 (INTEGER)
(0x03000000:NameValue):Text = 'TDS General Error' (CHARACTER)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'MT910' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = '/MT910/MT910(1 of unbounded)' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 2 (INTEGER)
(0x03000000:NameValue):Text = '0' (CHARACTER)
)
(0x01000000:Name ):ParserException = (
(0x03000000:NameValue):File = '/build/S610P/src/cpi/pwf/nxd/nxdflexible.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 189 (INTEGER)
(0x03000000:NameValue):Function = 'NXDFlexible::checkZeroLengthUnbounded' (CHARACTER)
(0x03000000:NameValue):Type = '' (CHARACTER)
(0x03000000:NameValue):Name = '' (CHARACTER)
(0x03000000:NameValue):Label = '' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPv610' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 5606 (INTEGER)
(0x03000000:NameValue):Text = 'An element or group with length zero that repeats an unbounded number of times has been found.' (CHARACTER)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'MT910' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'MT910' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 2 (INTEGER)
(0x03000000:NameValue):Text = '0' (CHARACTER) |
Last edited by Jain on Sat Nov 26, 2011 12:23 pm; edited 1 time in total |
|
Back to top |
|
 |
kimbert |
Posted: Sat Nov 26, 2011 6:02 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5543 Location: Southampton
|
Well, the next step is obvious. Look in your message definition to find the zero-length element that repeats an unbounded number of times. No more help until you show me some evidence that you have tried to do that. |
|
Back to top |
|
 |
Jain |
Posted: Sat Nov 26, 2011 12:21 pm Post subject: |
|
|
 Novice
Joined: 11 Nov 2011 Posts: 21
|
kimbert wrote: |
Looks like something in your message set is wrong. Apparently you have defined a repeating element with length 0
Well, the next step is obvious. Look in your message definition to find the zero-length element that repeats an unbounded number of times. No more help until you show me some evidence that you have tried to do that. |
message set is already deployed for sme other project n it's working fine. n also i'm using the Base64Binary Encoded msg which is intermediate result of d existing working service. |
|
Back to top |
|
 |
kimbert |
Posted: Sat Nov 26, 2011 2:50 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5543 Location: Southampton
|
What 'Base64Binary Encoded' message is this? The MRM TDS parser does not operate on base64 encoded data. Maybe that's your problem?
Did you check the message set? Have you taken a debug-level user trace to see what the TDS parser is doing? |
|
Back to top |
|
 |
Jain |
Posted: Sat Nov 26, 2011 10:49 pm Post subject: |
|
|
 Novice
Joined: 11 Nov 2011 Posts: 21
|
kimbert wrote: |
What 'Base64Binary Encoded' message is this? The MRM TDS parser does not operate on base64 encoded data. Maybe that's your problem?
Did you check the message set? Have you taken a debug-level user trace to see what the TDS parser is doing? |
It's message encoded in Base64 string (base64 encoding) .
For example
Msg = "Create a web application using any technology."
Base64 Encoded msg = "Q3JlYXRlIGEgd2ViIGFwcGxpY2F0aW9uIHVzaW5nIGFueSB0ZWNobm9sb2d5Lg=="
I'm getting Base64 Encoded msg from our existing services (intermediate result). Then i'm calling some java class which decode the Base64 Encoded msg. return type is BLOB. Now I'm validating BLOB msg during parsing against the msg sets details. |
|
Back to top |
|
 |
kimbert |
Posted: Mon Nov 28, 2011 1:22 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5543 Location: Southampton
|
The Base64 encoding is not relevant to this discussion. The TDS parser parses the decoded BLOB. So you need to work out what is going wrong with the parsing.
On that subject...have you actually done any of the things that I have suggested? |
|
Back to top |
|
 |
|