Author |
Message
|
Srinu |
Posted: Mon May 15, 2006 10:07 am Post subject: Accessing message in error flow |
|
|
 Acolyte
Joined: 15 Jun 2005 Posts: 51
|
Hi All,
I am unable to access the input message when the message is propagated thru failure termainal of MQInput node. For input message to get validated I have set domain,type,message set etc.
For example my Input message is
<Emp>
<Eno>27</Eno>
<Ename>Srinu</Ename>
</Emp>
For the above input, the message propagates thru the in termianl of MQInput node.If I have given any invalid message like <SName> instead of <Ename> the message is propagated thru the failure terminal of the MqInput node and I am able to see the message upto <Eno> instead of entire invalid message in debug mode. In my requirement I have to access the total invalid message in the compute node connected to failure terminal of MqInput node.
Regards,
Srinu |
|
Back to top |
|
 |
madi |
Posted: Mon May 15, 2006 10:14 am Post subject: |
|
|
 Chevalier
Joined: 17 Jan 2006 Posts: 475
|
can you post a trace??
so u are not able to access the message in the eSQL??
--madi |
|
Back to top |
|
 |
Srinu |
Posted: Mon May 15, 2006 10:45 am Post subject: |
|
|
 Acolyte
Joined: 15 Jun 2005 Posts: 51
|
Hi madi,
Thanks for ur immediate response. Here is the trace
Exception = (
(0x01000000):ParserException = (
(0x03000000):File = 'F:\build\S600_P\src\DataFlowEngine\ImbRootParser.cpp'
(0x03000000):Line = 551
(0x03000000):Function = 'ImbRootParser::parseNextItem'
(0x03000000):Type = 'ComIbmMQInputNode'
(0x03000000):Name = 'sampleflow#FCMComposite_1_1'
(0x03000000):Label = 'sampleflow.MQInput'
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 2
(0x03000000):Number = 5902
(0x03000000):Text = 'Exception whilst parsing'
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'Root'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'MRM'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = '4d442020020000000000000008000000ffffffff0000000022020000b50100004d515354522020200000000000000000414d51205742524b365f44454641554c957e684420000423000000000000000000000000000000000000000000000000000000002020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020205742524b365f44454641554c545f51554555455f4d414e41474552202020202020202020202020202020202020202020757365723938202020202020160105150000009dbeda5285e77e2f07e53b2be803000000000000000000000b20202020202020202020202020202020202020202020202020202020202020200b000000433a5c57494e4e545c73797374656d33325c6d6d632e6578652020203230303630353135313834353336313020202020000000000000000000000000000000000000000000000000010000000000000000000000ffffffff3c456d703e3c456e6f3e32373c2f456e6f3e3c536e616d653e5372696e753c2f536e616d653e3c446570743e4465763c2f446570743e3c2f456d703e'
)
(0x01000000):ParserException = (
(0x03000000):File = 'F:\build\S600_P\src\MTI\MTIforBroker\MtiImbParser2\MtiImbParser.cpp'
(0x03000000):Line = 445
(0x03000000):Function = 'MtiImbParser::parseFirstChild'
(0x03000000):Type = 'ComIbmMQInputNode'
(0x03000000):Name = 'sampleflow#FCMComposite_1_1'
(0x03000000):Label = 'sampleflow.MQInput'
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 5285
(0x03000000):Text = 'ImbRecoverableException caught from worker->parseNext.'
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'Emp_Set'
)
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '1'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'XML1'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'Emp'
)
(0x01000000):ParserException = (
(0x03000000):File = 'F:\build\S600_P\src\MTI\MTIforBroker\MtiImbParser2\MtiImbDictionaryIterator.cpp'
(0x03000000):Line = 486
(0x03000000):Function = 'MtiImbDictionaryIterator::validateTypeContent'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 5371
(0x03000000):Text = 'Invalid Member for typeContent closed'
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'Sname'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = '/Emp'
)
)
)
)
)
Regards,
Srinu |
|
Back to top |
|
 |
madi |
Posted: Mon May 15, 2006 11:01 am Post subject: |
|
|
 Chevalier
Joined: 17 Jan 2006 Posts: 475
|
i mean a Root level trace so that we can see the message also
i do this all the time, validate and create an error message if this error occurs, so i just think its not because of the flow. Sometimes the toolkit just craps out and does not show stuf in the debug mode
so a root level trace will help
--madi |
|
Back to top |
|
 |
wschutz |
Posted: Mon May 15, 2006 11:26 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Well, if the parser can't parse the message,
how can you expect it to be parsed in the debugger?
You show reset to domain to BLOB by using a reset content descriptor
before you try tracing or debugging the message... _________________ -wayne |
|
Back to top |
|
 |
madi |
Posted: Mon May 15, 2006 11:35 am Post subject: |
|
|
 Chevalier
Joined: 17 Jan 2006 Posts: 475
|
the parse did parse the message otherwiseit would not enter into the debug mode!!
the message just failed validation against the schema or the message def file.
right Srinu??
--madi |
|
Back to top |
|
 |
Srinu |
Posted: Mon May 15, 2006 11:47 am Post subject: |
|
|
 Acolyte
Joined: 15 Jun 2005 Posts: 51
|
Hi wschutz,
Thanks for ur reply. I finally got it.
Regards,
Srinu |
|
Back to top |
|
 |
dsriksha |
Posted: Mon May 15, 2006 11:50 am Post subject: |
|
|
 Voyager
Joined: 27 Feb 2005 Posts: 95
|
madi wrote: |
right Srinu??
--madi |
not right . If message is not parsed (though the message is partially parsed and not parsing there after), obviously u cant see. Srinu you need to try different way or you need to understand what the error statement says . |
|
Back to top |
|
 |
wschutz |
Posted: Mon May 15, 2006 11:51 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Srinu wrote: |
Hi wschutz,
Thanks for ur reply. I finally got it.
Regards,
Srinu |
Can you tell us what you did? It would be
useful for future reference. _________________ -wayne |
|
Back to top |
|
 |
Srinu |
Posted: Mon May 15, 2006 11:54 am Post subject: |
|
|
 Acolyte
Joined: 15 Jun 2005 Posts: 51
|
Hi wschutz,
I used RCD node and changed the domain to xml and tried to access the message in compute node.
regards,
Srinu |
|
Back to top |
|
 |
madi |
Posted: Mon May 15, 2006 12:05 pm Post subject: |
|
|
 Chevalier
Joined: 17 Jan 2006 Posts: 475
|
Quote: |
not right icon_wink.gif . If message is not parsed (though the message is partially parsed and not parsing there after), obviously u cant see. |
again the case here is not that the xml is not well formed or unparsable or something like that ....... its just that when the xml is validated against the schema it fails . which just means the tree structure of the xml does not match with the msg def file.
Quote: |
Hi wschutz,
I used RCD node and changed the domain to xml and tried to access the message in compute node.
regards,
Srinu |
so that means he WAS able to access the full message
--madi |
|
Back to top |
|
 |
dsriksha |
Posted: Mon May 15, 2006 12:54 pm Post subject: |
|
|
 Voyager
Joined: 27 Feb 2005 Posts: 95
|
if you dont need validation why dont you just modify your message set (from the error message).
I believe solution will be, you are using BLOB at MQINPUT node then u are using RCD. Instead you can directly set XML domain.
Or I may be missing some thing in your requirement. |
|
Back to top |
|
 |
|