Author |
Message
|
n1ghtrain |
Posted: Wed Oct 24, 2007 2:51 am Post subject: Parse Options |
|
|
 Apprentice
Joined: 23 Mar 2006 Posts: 48 Location: Bangalore
|
Hi all,
I'm parsing the input CWF data from esql using
Code: |
SET parseoptions = BITOR(RootBitStream, ValidateContent, ValidateValue, ValidateBasicConstraints, ValidateException);
CREATE LASTCHILD OF OutputRoot DOMAIN 'MRM'
PARSE (InputBody.BLOB
OPTIONS parseoptions
ENCODING InputProperties.Encoding
CCSID InputProperties.CodedCharSetId
SET Environment.Variables.Channel.MSG_SET
TYPE Environment.Variables.Channel.MSG_TYPE
FORMAT Environment.Variables.Channel.MSG_FORMAT); |
When the input data is not as per the message model, Message Tree has "ImbRecoverableException caught from worker->parseNext."
But no exception is thrown. Is there anything I have missed out.? |
|
Back to top |
|
 |
kimbert |
Posted: Wed Oct 24, 2007 3:12 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
This keeps on cropping up. The debugger does not display the message tree correctly in these circumstances. The good news is that
a) Parser exceptions have definitely been thrown
b) If you take a user trace you will see all of them |
|
Back to top |
|
 |
n1ghtrain |
Posted: Wed Oct 24, 2007 3:28 am Post subject: |
|
|
 Apprentice
Joined: 23 Mar 2006 Posts: 48 Location: Bangalore
|
My problem is that, exception is not thrown in this case.
(i have a try-catch before this compute node but flow is continuing to next node) |
|
Back to top |
|
 |
kimbert |
Posted: Wed Oct 24, 2007 4:04 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Detach the debugger first - then you should see the exceptions being thrown |
|
Back to top |
|
 |
n1ghtrain |
Posted: Wed Oct 24, 2007 4:25 am Post subject: |
|
|
 Apprentice
Joined: 23 Mar 2006 Posts: 48 Location: Bangalore
|
Even if i detach the debugger I'm not getting any exception. The message is processed as usual.
Exception is not thrown always, whether debugger is attached or not.
(for some error data its throwing,for some its not).But whenever there is a mismatch, "ImbRecoverableException caught from worker->parseNext." is shown.
Should I specify parse timing options in 'parseoptions'?
I was wondering if its a known bug .?
Broker version : 6
Fixpac : 3 |
|
Back to top |
|
 |
kimbert |
Posted: Wed Oct 24, 2007 6:12 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
I note that your ESQL is reparsing InputRoot.BLOB using the MRM parser.
Presumably, you needed to do some work in the BLOB domain before switching to the MRM domain ( otherwise you would have simply set the domain to 'MRM' on the input node ). The usual way to switch domains is to use a ResetContentDescriptor node. I think you should try that first.
The other possible solution is to declare an error handler to catch and re-throw the errors reported by your CREATE...PARSE statement. Search the docs for 'DECLARE HANDLER' if you need more details on that. |
|
Back to top |
|
 |
|