Author |
Message
|
anurag.munjal |
Posted: Mon Apr 29, 2013 10:58 am Post subject: Exception in WMB 8 SAMPLES |
|
|
 Voyager
Joined: 08 Apr 2012 Posts: 97
|
To My big surprize, after setting the complete sample for Airline reservation, WMB8 toolkit, it throws an un expected everytime it run.
Below is the structure of the exception tree...
Shocking to my surprize - WMB developers, issue with a sample predefined? STRANGE!
Quote: |
ExceptionList
RecoverableException
File:CHARACTER:F:\build\S000_P\src\DataFlowEngine\ImbDataFlowNode.cpp
Line:INTEGER:1129
Function:CHARACTER:ImbDataFlowNode::createExceptionList
Type:CHARACTER:ComIbmMQInputNode
Name:CHARACTER:XML_Reservation#FCMComposite_1_1
Label:CHARACTER:XML_Reservation.XML_RESERVATION_IN
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Node throwing exception
RecoverableException
File:CHARACTER:F:\build\S000_P\src\DataFlowEngine\ImbDatabaseNode.cpp
Line:INTEGER:312
Function:CHARACTER:ImbDatabaseNode::evaluate
Type:CHARACTER:ComIbmDatabaseNode
Name:CHARACTER:XML_Reservation#FCMComposite_1_4
Label:CHARACTER:XML_Reservation.UpdateFlightTable
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Caught exception and rethrowing
RecoverableException
File:CHARACTER:F:\build\S000_P\src\DataFlowEngine\ImbRdl\ImbRdlStatementGroup.cpp
Line:INTEGER:627
Function:CHARACTER:SqlStatementGroup::execute
Type:CHARACTER:
Name:CHARACTER:
Label:CHARACTER:
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:2488
Text:CHARACTER:Error detected, rethrowing
Insert
Type:INTEGER:5
Text:CHARACTER:.UpdateFlightTable.Main
Insert
Type:INTEGER:5
Text:CHARACTER:4.3
Insert
Type:INTEGER:5
Text:CHARACTER:SET Environment.Variables = THE (SELECT T.*:* FROM Database.XMLFLIGHTTB AS T WHERE T.FLIGHTDATE = Root.XMLNSC.Reservation.FlightDetails.FlightDate AND T.FLIGHTNO = Root.XMLNSC.Reservation.FlightDetails.FlightNumber);
DatabaseException
File:CHARACTER:F:\build\S000_P\src\DataFlowEngine\ImbOdbc.cpp
Line:INTEGER:3138
Function:CHARACTER:ImbOdbcConnection::checkRcInner
Type:CHARACTER:
Name:CHARACTER:
Label:CHARACTER:
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:2321
Text:CHARACTER:Root SQL exception
Insert
Type:INTEGER:2
Text:CHARACTER:-1
Insert
Type:INTEGER:14
Text:CHARACTER:odbc32.dll
DatabaseException
File:CHARACTER:F:\build\S000_P\src\DataFlowEngine\ImbOdbc.cpp
Line:INTEGER:3316
Function:CHARACTER:ImbOdbcConnection::checkRcInner
Type:CHARACTER:
Name:CHARACTER:
Label:CHARACTER:
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:2322
Text:CHARACTER:Child SQL exception
Insert
Type:INTEGER:5
Text:CHARACTER:07009
Insert
Type:INTEGER:2
Text:CHARACTER:0
Insert
Type:INTEGER:5
Text:CHARACTER:[Oracle][ODBC]Invalid descriptor index <1>. |
|
|
Back to top |
|
 |
anurag.munjal |
Posted: Mon Apr 29, 2013 11:00 am Post subject: Debugger |
|
|
 Voyager
Joined: 08 Apr 2012 Posts: 97
|
Checking through a debugger and ofcourse looking at the exception tree above - , it reveils that the issue is with this line:
Code: |
SET Environment.Variables = THE (SELECT T.*:* FROM Database.XMLFLIGHTTB AS T WHERE T.FLIGHTDATE = Root.XMLNSC.Reservation.FlightDetails.FlightDate AND T.FLIGHTNO = Root.XMLNSC.Reservation.FlightDetails.FlightNumber); |
I wonder whats wrong with it because:
1. The DB is configured with broker correctly, i confirmed it by a dummy select and insert POC.
2. The DB is set up correctly as i referefd to sql commands predefined with the sample!  |
|
Back to top |
|
 |
anurag.munjal |
Posted: Mon Apr 29, 2013 11:02 am Post subject: MAgic |
|
|
 Voyager
Joined: 08 Apr 2012 Posts: 97
|
Also, one strange thing,
The esql code snippet is:
Code: |
SET Environment.Variables =
THE (SELECT T.* FROM Database.XMLFLIGHTTB AS T
WHERE T.FLIGHTDATE = Root.XMLNSC.Reservation.FlightDetails.FlightDate
AND T.FLIGHTNO = Root.XMLNSC.Reservation.FlightDetails.FlightNumber); |
Whereas if you carefully observe the exception tree, it says:
Code: |
Text:CHARACTER:SET Environment.Variables = THE (SELECT T.*:* FROM Database.XMLFLIGHTTB AS T WHERE T.FLIGHTDATE = Root.XMLNSC.Reservation.FlightDetails.FlightDate AND T.FLIGHTNO = Root.XMLNSC.Reservation.FlightDetails.FlightNumber);
DatabaseException |
T.*:* ? whats that? |
|
Back to top |
|
 |
kimbert |
Posted: Mon Apr 29, 2013 3:00 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
Checking through a debugger and ofcourse looking at the exception tree above - , it reveils that the issue is with this line: |
Well yes...but what exactly is the 'issue'. And what should you do about it?
You are more likely to find answers to both of those questions if you look up the error message. An exception list is not intended to be human-readable. A user trace is. So is the output of the mqsiexplain command.
btw, I am not claiming that the error message, when you find it, will explain everything. I'm just offering a useful tip on how to diagnose message flow problems. |
|
Back to top |
|
 |
anurag.munjal |
Posted: Mon Apr 29, 2013 6:49 pm Post subject: |
|
|
 Voyager
Joined: 08 Apr 2012 Posts: 97
|
Kimbert,
The inner most child of expection is supposed to contain the error information, aint that true?
Code: |
Text:CHARACTER:[Oracle][ODBC]Invalid descriptor index <1> |
Now how in this world can a predefined sample supposed to through this exception???? |
|
Back to top |
|
 |
kimbert |
Posted: Tue Apr 30, 2013 1:35 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
The inner most child of expection is supposed to contain the error information, aint that true? |
Yes. That's true, but it is not the point that I was making. Have you tried mqsiexplain or user trace yet?
Quote: |
Now how in this world can a predefined sample supposed to through this exception???? |
If the sample is throwing an exception then it may be a product defect. Or it might not. Either way, I don't think I claimed to be commenting on that issue.
I'm trying to help you with your diagnosis techniques, so that you can ask better questions, so that we can help you more quickly in future. |
|
Back to top |
|
 |
anurag.munjal |
Posted: Tue Apr 30, 2013 4:04 am Post subject: |
|
|
 Voyager
Joined: 08 Apr 2012 Posts: 97
|
Thanks kimbert
ill give it shot using mqsiexplain. gave it a rough try:
http://publib.boulder.ibm.com/infocenter/wmbhelp/v8r0m0/index.jsp?topic=%2Fcom.ibm.etools.mft.doc%2Fbn23805_.htm
My broker console says mqsiexplain is not a recognised as an internal or external command or batch file!
Anyways, ill try with a trace.
Between i have tried to contact ibm support for this defect in sample, they are asking for the [quote]Kindly check for the ICN with Your IBM Client Representative or on the PO copy of this License[quote]
Its a trial version man, how do i get the PO Copy of the licesnce??????
Anyways, i have moved on to the next sample for the time being!  |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Apr 30, 2013 4:16 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Apparently, mqsiexplain is a v8 command, that requires the runtime console (mqisprofile applied).
A User Trace is a really good place to start even if you don't have v8, and will tell you better about what's happening, as opposed to repeating the section of the info center that describes the event message you're confused about. |
|
Back to top |
|
 |
princedeepak |
Posted: Tue Apr 30, 2013 6:21 am Post subject: |
|
|
Novice
Joined: 10 Apr 2013 Posts: 16
|
I am getting this error while trying to parse a custom TDS message
ImbRecoverableException caught from worker->parseNext.
can i know Whats the Problem |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Apr 30, 2013 6:38 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
It means that the model stopped matching the data at some point no further along in the model than currently parsed.
So either the model is wrong, the data is wrong, or the model and the data are both wrong. |
|
Back to top |
|
 |
kimbert |
Posted: Tue Apr 30, 2013 11:41 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
can i know Whats the Problem |
One more time...
Yes! You can take a user trace. You will be amazed at how much it will tell you about the problem.
Or, you could keep asking the same question while ignoring the answers that you are given. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Apr 30, 2013 12:16 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
To rephrase.
The answer to "can you know the problem" is "Yes, you can know the problem."
The step to find out the problem is "Run a user trace".
The step to understand that step is "Go read the information center on user trace".
An alternate step to understand that step is to "Ask the person who told you to write this broker flow".
A step that is guaranteed not to get you any solution at all is to fail to do any more effort on your own until someone magically provides you information here. |
|
Back to top |
|
 |
|