ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Airline Reservation Sample Help

Post new topic  Reply to topic
 Airline Reservation Sample Help « View previous topic :: View next topic » 
Author Message
bdaoust
PostPosted: Mon Oct 21, 2013 10:28 am    Post subject: Airline Reservation Sample Help Reply with quote

Centurion

Joined: 23 Sep 2010
Posts: 130

Hello everyone.

So I have some down time at work and trying to get a better understanding of some concepts in WMB (7.0.0.5).

In order to do this, I've setup the Airline Reservations Sample, which had to be deployed to our development broker because I don't have the proper run time files on my machine to run a local instance of broker.

I got everything setup, built the database in SQL, deployed the BAR file to our development server to a new execution group. I used the included tests within the sample and was getting a exception error, which is thrown in the ESQL if some logic fails.

Here is a snip of the ESQL code from the sample:

Code:
CREATE DATABASE MODULE UpdateFlightTable
   CREATE FUNCTION Main() RETURNS BOOLEAN
   BEGIN
      -- populate the environment with flight info from the database      
      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);
      DECLARE ref REFERENCE TO Root.XMLNSC.Reservation.ListOfPassengers.PassengerDetails[1];
      -- track the remaining number of seats
      SET Environment.Variables.EconomyClassRemain = CAST(Environment.Variables.TOTALECONOMIC AS INTEGER);
      SET Environment.Variables.FirstClassRemain = CAST(Environment.Variables.TOTALFIRST AS INTEGER);

      -- loop through the request, counting the passengers and checking capacity
      SET Environment.Variables.NoPassengers = 0;
      WHILE LASTMOVE(ref) DO -- check that the REFERENCE is still valid
         IF ref.Class = 'F' THEN
            IF Environment.Variables.FirstClassRemain >= 1 THEN
               SET Environment.Variables.FirstClassRemain = Environment.Variables.FirstClassRemain - 1;
               SET Environment.Variables.FIRSTCLASS = Environment.Variables.FIRSTCLASS + 1;
               SET Environment.Variables.NoPassengers = Environment.Variables.NoPassengers + 1;
            ELSE
               THROW USER EXCEPTION MESSAGE 2949 VALUES('Number of passengers exceeds capacity');
            END IF;
         END IF;


This exception is getting hit:

THROW USER EXCEPTION MESSAGE 2949 VALUES('Number of passengers exceeds capacity');

This code gets the Environment.Variables doesn't seem to be getting set correctly.

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 say Environment.Variables isn't getting set properly, because:

1) The exception is being thrown.
2) I did a trace node after Database node (which the .esql is in) and entered this pattern:

Code:
Environment Vars: ${Environment.Variables}
${Root.XMLNSC.Reservation.ListOfPassengers.PassengerDetails[1]}


A few things I tried/looked into:

1) I scripted out a SELECT statement in SQL Management Studio to make sure the above SELECT statement returned data, it did.
2) Check the broker's event viewer for an other problems - like SQL datasource problems, permission issues, etc.

Any ideas why I'm hitting the exception line in the code above? All the data is the default data that comes with the sample and the test I ran says the queue count should increase by one, but it doesn't since the exception is thrown.

Thanks,
-Bria

.
Back to top
View user's profile Send private message
dogorsy
PostPosted: Mon Oct 21, 2013 6:17 pm    Post subject: Re: Airline Reservation Sample Help Reply with quote

Knight

Joined: 13 Mar 2013
Posts: 553
Location: Home Office

bdaoust wrote:

Code:
Environment Vars: ${Environment.Variables}
${Root.XMLNSC.Reservation.ListOfPassengers.PassengerDetails[1]}



.

and what did you get ?
As you are doing a SELECT * from the database , you will get the column names as they are in the database i.e case sensitive.
Check that the names you get from the select are the same you are using in your ESQL Environment.Variables
Get a user trace and see why the code is following that path.
Back to top
View user's profile Send private message
vishnurajnr
PostPosted: Mon Oct 21, 2013 9:51 pm    Post subject: Reply with quote

Centurion

Joined: 08 Aug 2011
Posts: 134
Location: Trivandrum

Hope you have ran the DB scripts provided with this sample.

And if you are using the input data as mentioned in the sample gallery, you might not get this issue. The sample data FYR as below:
Code:
<Reservation>
   <FlightDetails>
      <FlightNumber>CA937</FlightNumber>
      <FlightDate>20030525</FlightDate>
   </FlightDetails>
   <ListOfPassengers>
      <PassengerDetails>
         <FirstName>Mary</FirstName>
         <LastName>Smith</LastName>
         <Class>F</Class>
      </PassengerDetails>
      <PassengerDetails>
         <FirstName>Diane</FirstName>
         <LastName>Rose</LastName>
         <Class>Y</Class>
      </PassengerDetails>
      <PassengerDetails>
         <FirstName>Debra</FirstName>
         <LastName>Wiess</LastName>
         <Class>Y</Class>
      </PassengerDetails>
      <PassengerDetails>
         <FirstName>Atila</FirstName>
         <LastName>Wiess</LastName>
         <Class>F</Class>
      </PassengerDetails>
   </ListOfPassengers>
   <Request>M</Request>
</Reservation>
Back to top
View user's profile Send private message Visit poster's website
bdaoust
PostPosted: Tue Oct 22, 2013 5:27 am    Post subject: Re: Airline Reservation Sample Help Reply with quote

Centurion

Joined: 23 Sep 2010
Posts: 130

[quote="dogorsy"]
bdaoust wrote:

Code:
Environment Vars: ${Environment.Variables}
${Root.XMLNSC.Reservation.ListOfPassengers.PassengerDetails[1]}



.

and what did you get ?
As you are doing a SELECT * from the database , you will get the column names as they are in the database i.e case sensitive.
Check that the names you get from the select are the same you are using in your ESQL Environment.Variables
Get a user trace and see why the code is following that path.[/quote

dogorsy: I didn't get anything when I did Environment Vars: ${Environment.Variables}.

When you say "Check that the names you get from the select are the same you are using in your ESQL Environment.Variables", the Environment.Variables is null before the SELECT statement. The only part in the code where I see Environment.Variables being set is in the code where it does the select. Maybe that is the problem? The SET doesn't know where to match up the field names because they aren't set in Environment.Variables?

Also, yes, I did use the DB scripts and using the sample data.

Thanks,
Brian
Back to top
View user's profile Send private message
bdaoust
PostPosted: Tue Oct 22, 2013 8:24 am    Post subject: Reply with quote

Centurion

Joined: 23 Sep 2010
Posts: 130

I did a user trace and it looks like to me the exception is the one the code tests for. The only reason I can think of is that the Environment.Variables aren't getting assigned properly (or at all)

User Trace
================================
Timestamps are formatted in local time, 240 minutes before GMT.
Trace written by version ; formatter version 7001 (build S700-FP01)

2013-10-22 12:14:47.302391 15968 UserTrace BIP4040I: The Execution Group ''AirlineReservations'' has processed a configuration message successfully.
A configuration message has been processed successfully. Any configuration changes have been made and stored persistently.
No user action required.
2013-10-22 12:14:47.302646 15968 UserTrace BIP2638I: The MQ output node '.outputNode' attempted to write a message to queue ''SYSTEM.BROKER.EXECUTIONGROUP.REPLY'' connected to queue manager ''DMQSI701''. The MQCC was '0' and the MQRC was '0'.
2013-10-22 12:14:47.302665 15968 UserTrace BIP2622I: Message successfully output by output node '.outputNode' to queue ''SYSTEM.BROKER.EXECUTIONGROUP.REPLY'' on queue manager ''DMQSI701''.
2013-10-22 12:14:47.302814 15968 Information BIP2154I: Execution group finished with Configuration message.
A command response will be sent to the broker.
No user action required.
2013-10-22 12:14:57.794895 18080 UserTrace BIP2632I: Message received and propagated to 'out' terminal of MQ input node 'XML_Reservation.XML_RESERVATION_IN'.
2013-10-22 12:14:57.794963 18080 UserTrace BIP6060I: Parser type ''Properties'' created on behalf of node 'XML_Reservation.XML_RESERVATION_IN' to handle portion of incoming message of length 0 bytes beginning at offset '0'.
2013-10-22 12:14:57.794982 18080 UserTrace BIP6061I: Parser type ''MQMD'' created on behalf of node 'XML_Reservation.XML_RESERVATION_IN' to handle portion of incoming message of length '364' bytes beginning at offset '0'. Parser type selected based on value ''MQHMD'' from previous parser.
2013-10-22 12:14:57.795013 18080 UserTrace BIP6061I: Parser type ''XMLNSC'' created on behalf of node 'XML_Reservation.XML_RESERVATION_IN' to handle portion of incoming message of length '608' bytes beginning at offset '364'. Parser type selected based on value ''XMLNSC'' from previous parser.
2013-10-22 12:14:57.834430 18080 UserTrace BIP2231E: Error detected whilst processing a message in node 'XML_Reservation.XML_RESERVATION_IN'.
The message broker detected an error whilst processing a message in node 'XML_Reservation.XML_RESERVATION_IN'. The message has been augmented with an exception list and has been propagated to the node's failure terminal for further processing.
See the following messages for details of the error.
2013-10-22 12:14:57.834468 18080 RecoverableException BIP2230E: Error detected whilst processing a message in node 'XML_Reservation.UpdateFlightTable'.
The message broker detected an error whilst processing a message in node 'XML_Reservation.UpdateFlightTable'. An exception has been thrown to cut short the processing of the message.
See the following messages for details of the error.
2013-10-22 12:14:57.834529 18080 RecoverableException BIP2488E: ('.UpdateFlightTable.Main', '22.6') Error detected whilst executing the SQL statement ''THROW EXCEPTION MESSAGE 2949 VALUES( 'Number of passengers exceeds capacity');''.
The message broker detected an error whilst executing the given statement. An exception has been thrown to cut short the SQL program.
See the following messages for details of the error.
2013-10-22 12:14:57.834537 18080 UserException BIP2949I: A user generated ESQL exception has been thrown. The additional information provided with this exception is: ''Number of passengers exceeds capacity'' 'XML_Reservation.UpdateFlightTable' '{2}' '{3}' '{4}' '{5}' '{6}' '{7}' '{8}' '{9}'
This exception was thrown by a THROW EXCEPTION statement. This is the normal behavior of the THROW statement.
Since this is a user generated exception, the user action is determined by the message flow and the type of exception thrown.
2013-10-22 12:14:57.834941 18080 Error BIP3052E: Error message ''==== Exception caught in input node XML_RESERVATION_IN =======

Environment is:
( ['MQROOT' : 0x1731b358]
(0x01000000:Name):Variables = (
(0x03000000:NameValue):NoPassengers = 0 (INTEGER)
)
)

Exception List is:
( ['MQROOT' : 0x172bb1b8]
(0x01000000:Name):RecoverableException = (
(0x03000000:NameValue):File = 'F:\build\S700_P\src\DataFlowEngine\ImbDatabaseNode.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 313 (INTEGER)
(0x03000000:NameValue):Function = 'ImbDatabaseNode::evaluate' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmDatabaseNode' (CHARACTER)
(0x03000000:NameValue):Name = 'XML_Reservation#FCMComposite_1_4' (CHARACTER)
(0x03000000:NameValue):Label = 'XML_Reservation.UpdateFlightTable' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 2230 (INTEGER)
(0x03000000:NameValue):Text = 'Caught exception and rethrowing' (CHARACTER)
(0x01000000:Name ):RecoverableException = (
(0x03000000:NameValue):File = 'F:\build\S700_P\src\DataFlowEngine\ImbRdl\ImbRdlStatementGroup.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 641 (INTEGER)
(0x03000000:NameValue):Function = 'SqlStatementGroup::execute' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmDatabaseNode' (CHARACTER)
(0x03000000:NameValue):Name = 'XML_Reservation#FCMComposite_1_4' (CHARACTER)
(0x03000000:NameValue):Label = 'XML_Reservation.UpdateFlightTable' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 2488 (INTEGER)
(0x03000000:NameValue):Text = 'Error detected, rethrowing' (CHARACTER)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = '.UpdateFlightTable.Main' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = '22.6' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'THROW EXCEPTION MESSAGE 2949 VALUES( 'Number of passengers exceeds capacity');' (CHARACTER)
)
(0x01000000:Name ):UserException = (
(0x03000000:NameValue):File = 'F:\build\S700_P\src\DataFlowEngine\ImbRdl\ImbRdlThrowExceptionStatements.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 229 (INTEGER)
(0x03000000:NameValue):Function = 'SqlThrowExceptionStatement::execute' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmDatabaseNode' (CHARACTER)
(0x03000000:NameValue):Name = 'XML_Reservation#FCMComposite_1_4' (CHARACTER)
(0x03000000:NameValue):Label = 'XML_Reservation.UpdateFlightTable' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 1 (INTEGER)
(0x03000000:NameValue):Number = 2949 (INTEGER)
(0x03000000:NameValue):Text = 'User generated exception' (CHARACTER)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'Number of passengers exceeds capacity' (CHARACTER)
)
)
)
)
)
'' from trace node 'XML_Reservation.LogException'.
The trace node 'XML_Reservation.LogException' has output the specified error message.
This is an error message provided by the message flow designer. The user response will be determined by the local environment.
2013-10-22 12:14:57.834960 18080 UserTrace BIP4067I: Message propagated to output terminal for trace node 'XML_Reservation.LogException'.
The trace node 'XML_Reservation.LogException' has received a message and is propagating it to any nodes connected to its output terminal.
No user action required.
2013-10-22 12:14:57.835098 18080 UserTrace BIP2638I: The MQ output node 'XML_Reservation.XML_RESERVATION_FAIL' attempted to write a message to queue ''XML_RESERVATION_FAIL'' connected to queue manager ''''. The MQCC was '0' and the MQRC was '0'.
2013-10-22 12:14:57.835109 18080 UserTrace BIP2622I: Message successfully output by output node 'XML_Reservation.XML_RESERVATION_FAIL' to queue ''XML_RESERVATION_FAIL'' on queue manager ''''.
2013-10-22 12:15:42.533119 15968 UserTrace BIP2632I: Message received and propagated to 'out' terminal of MQ input node '.InputNode'.
2013-10-22 12:15:42.533252 15968 UserTrace BIP6060I: Parser type ''Properties'' created on behalf of node '.InputNode' to handle portion of incoming message of length 0 bytes beginning at offset '0'.
2013-10-22 12:15:42.533313 15968 UserTrace BIP6061I: Parser type ''MQMD'' created on behalf of node '.InputNode' to handle portion of incoming message of length '364' bytes beginning at offset '0'. Parser type selected based on value ''MQHMD'' from previous parser.
2013-10-22 12:15:42.533432 15968 UserTrace BIP6061I: Parser type ''XMLS'' created on behalf of node '.InputNode' to handle portion of incoming message of length '218' bytes beginning at offset '364'. Parser type selected based on value ''XMLS'' from previous parser.
2013-10-22 12:15:42.533668 15968 Information BIP2152I: Configuration message received from broker.
An execution group received a command from the Broker.
No user action required.
2013-10-22 12:15:42.533756 15968 Information BIP2153I: About to ''change'' an execution group.
An execution group is about to perform an action.
No user action required.

Threads encountered in this trace:
15968 18080
Back to top
View user's profile Send private message
dogorsy
PostPosted: Tue Oct 22, 2013 8:47 am    Post subject: Reply with quote

Knight

Joined: 13 Mar 2013
Posts: 553
Location: Home Office

you need to use the -l debug option in the user trace
Back to top
View user's profile Send private message
bdaoust
PostPosted: Tue Oct 22, 2013 9:37 am    Post subject: Reply with quote

Centurion

Joined: 23 Sep 2010
Posts: 130

Ok - here is it in debug mode

Again, I think it's because Environment.Variables isn't declared before getting SET in this command:

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);

DATA FROM TABLE
=============================
FLIGHTDATE FLIGHTNO ECONOMICCLASS FIRSTCLASS TOTALECONOMIC TOTALFIRST ECONOMICPRICE FIRSTPRICE STARTPOINT ENDPOINT RESERVATIONSEQNO
20030218 CA937 0 0 200 50 200 300 BEIJING LONDON 0
20030525 BA039 0 0 180 40 220 320 LONDON BEIJING 0
20030525 CA937 0 0 200 50 200 300 BEIJING LONDON 0
20030219 BA039 0 0 180 40 220 320 LONDON BEIJING 0



Timestamps are formatted in local time, 240 minutes before GMT.
Trace written by version ; formatter version 7001 (build S700-FP01)

2013-10-22 13:12:58.126396 15968 UserTrace BIP4040I: The Execution Group ''AirlineReservations'' has processed a configuration message successfully.
A configuration message has been processed successfully. Any configuration changes have been made and stored persistently.
No user action required.
2013-10-22 13:12:58.126659 15968 UserTrace BIP2638I: The MQ output node '.outputNode' attempted to write a message to queue ''SYSTEM.BROKER.EXECUTIONGROUP.REPLY'' connected to queue manager ''DMQSI701''. The MQCC was '0' and the MQRC was '0'.
2013-10-22 13:12:58.126678 15968 UserTrace BIP2622I: Message successfully output by output node '.outputNode' to queue ''SYSTEM.BROKER.EXECUTIONGROUP.REPLY'' on queue manager ''DMQSI701''.
2013-10-22 13:12:58.126873 15968 Information BIP2154I: Execution group finished with Configuration message.
A command response will be sent to the broker.
No user action required.
2013-10-22 13:13:07.470036 18080 UserTrace BIP2632I: Message received and propagated to 'out' terminal of MQ input node 'XML_Reservation.XML_RESERVATION_IN'.
2013-10-22 13:13:07.470100 18080 UserTrace BIP6060I: Parser type ''Properties'' created on behalf of node 'XML_Reservation.XML_RESERVATION_IN' to handle portion of incoming message of length 0 bytes beginning at offset '0'.
2013-10-22 13:13:07.470119 18080 UserTrace BIP6061I: Parser type ''MQMD'' created on behalf of node 'XML_Reservation.XML_RESERVATION_IN' to handle portion of incoming message of length '364' bytes beginning at offset '0'. Parser type selected based on value ''MQHMD'' from previous parser.
2013-10-22 13:13:07.470150 18080 UserTrace BIP6061I: Parser type ''XMLNSC'' created on behalf of node 'XML_Reservation.XML_RESERVATION_IN' to handle portion of incoming message of length '608' bytes beginning at offset '364'. Parser type selected based on value ''XMLNSC'' from previous parser.
2013-10-22 13:13:07.470174 18080 UserTrace BIP2537I: Node 'XML_Reservation.UpdateFlightTable': Executing statement ''BEGIN ... END;'' at ('.UpdateFlightTable.Main', '2.2').
2013-10-22 13:13:07.470197 18080 UserTrace BIP2537I: Node 'XML_Reservation.UpdateFlightTable': Executing statement ''SET Environment.Variables = THE (SELECT ROW () FROM DATABASE(, Root.XMLNSC.Reservation.FlightDetails.FlightDate, Root.XMLNSC.Reservation.FlightDetails.FlightNumber));'' at ('.UpdateFlightTable.Main', '4.3').
2013-10-22 13:13:07.470262 18080 UserTrace BIP2538I: Node 'XML_Reservation.UpdateFlightTable': Evaluating expression ''THE (SELECT ROW () FROM DATABASE(, Root.XMLNSC.Reservation.FlightDetails.FlightDate, Root.XMLNSC.Reservation.FlightDetails.FlightNumber))'' at ('.UpdateFlightTable.Main', '5.4').
2013-10-22 13:13:07.470275 18080 UserTrace BIP2572W: Node: 'XML_Reservation.UpdateFlightTable': ('.UpdateFlightTable.Main', '5.4') : Finding one and only SELECT result.
2013-10-22 13:13:07.486546 18080 UserTrace BIP2539I: Node 'XML_Reservation.UpdateFlightTable': Evaluating expression ''Root.XMLNSC.Reservation.FlightDetails.FlightDate'' at ('.UpdateFlightTable.Main', '6.26'). This resolved to ''Root.XMLNSC.Reservation.FlightDetails.FlightDate''. The result was '''20030525'''.
2013-10-22 13:13:07.486578 18080 UserTrace BIP2539I: Node 'XML_Reservation.UpdateFlightTable': Evaluating expression ''Root.XMLNSC.Reservation.FlightDetails.FlightNumber'' at ('.UpdateFlightTable.Main', '7.22'). This resolved to ''Root.XMLNSC.Reservation.FlightDetails.FlightNumber''. The result was '''CA937'''.
2013-10-22 13:13:07.486588 18080 UserTrace BIP2544I: Node 'XML_Reservation.UpdateFlightTable': Executing database SQL statement ''SELECT * FROM XMLFLIGHTTB T WHERE ((T.FLIGHTDATE)=(?))AND((T.FLIGHTNO)=(?))'' derived from ('', '1.1'); expressions ''Root.XMLNSC.Reservation.FlightDetails.FlightDate, Root.XMLNSC.Reservation.FlightDetails.FlightNumber''; resulting parameter values '''20030525', 'CA937'''.
2013-10-22 13:13:07.487422 18080 UserTrace BIP2539I: Node 'XML_Reservation.UpdateFlightTable': Evaluating expression ''DATABASE(, Root.XMLNSC.Reservation.FlightDetails.FlightDate, Root.XMLNSC.Reservation.FlightDetails.FlightNumber)'' at ('', '1.1'). This resolved to ''SELECT * FROM XMLFLIGHTTB T WHERE ((T.FLIGHTDATE)=(?))AND((T.FLIGHTNO)=(?))''. The result was ''Complex result''.
2013-10-22 13:13:07.487514 18080 UserTrace BIP2537I: Node 'XML_Reservation.UpdateFlightTable': Executing statement ''DECLARE ref REFERENCE TO Root.XMLNSC.Reservation.ListOfPassengers.PassengerDetails[1];'' at ('.UpdateFlightTable.Main', '8.3').
2013-10-22 13:13:07.487547 18080 UserTrace BIP2537I: Node 'XML_Reservation.UpdateFlightTable': Executing statement ''SET Environment.Variables.EconomyClassRemain = CAST(Environment.Variables.TOTALECONOMIC AS INTEGER);'' at ('.UpdateFlightTable.Main', '10.3').
2013-10-22 13:13:07.487563 18080 UserTrace BIP2543I: Node 'XML_Reservation.UpdateFlightTable': ('.UpdateFlightTable.Main', '10.55') : Failed to navigate to path element number '3' because it does not exist.
2013-10-22 13:13:07.487575 18080 UserTrace BIP2539I: Node 'XML_Reservation.UpdateFlightTable': Evaluating expression ''Environment.Variables.TOTALECONOMIC'' at ('.UpdateFlightTable.Main', '10.55'). This resolved to ''Environment.Variables.TOTALECONOMIC''. The result was ''NULL''.
2013-10-22 13:13:07.487586 18080 UserTrace BIP2539I: Node 'XML_Reservation.UpdateFlightTable': Evaluating expression ''CAST(Environment.Variables.TOTALECONOMIC AS INTEGER)'' at ('.UpdateFlightTable.Main', '10.50'). This resolved to ''CAST(NULL AS INTEGER)''. The result was ''NULL''.
2013-10-22 13:13:07.487598 18080 UserTrace BIP2567I: Node 'XML_Reservation.UpdateFlightTable': Assigning NULL to ''Environment.Variables.EconomyClassRemain'', thus deleting it.
2013-10-22 13:13:07.487616 18080 UserTrace BIP2537I: Node 'XML_Reservation.UpdateFlightTable': Executing statement ''SET Environment.Variables.FirstClassRemain = CAST(Environment.Variables.TOTALFIRST AS INTEGER);'' at ('.UpdateFlightTable.Main', '11.3').
2013-10-22 13:13:07.487627 18080 UserTrace BIP2543I: Node 'XML_Reservation.UpdateFlightTable': ('.UpdateFlightTable.Main', '11.53') : Failed to navigate to path element number '3' because it does not exist.
2013-10-22 13:13:07.487637 18080 UserTrace BIP2539I: Node 'XML_Reservation.UpdateFlightTable': Evaluating expression ''Environment.Variables.TOTALFIRST'' at ('.UpdateFlightTable.Main', '11.53'). This resolved to ''Environment.Variables.TOTALFIRST''. The result was ''NULL''.
2013-10-22 13:13:07.487647 18080 UserTrace BIP2539I: Node 'XML_Reservation.UpdateFlightTable': Evaluating expression ''CAST(Environment.Variables.TOTALFIRST AS INTEGER)'' at ('.UpdateFlightTable.Main', '11.48'). This resolved to ''CAST(NULL AS INTEGER)''. The result was ''NULL''.
2013-10-22 13:13:07.487657 18080 UserTrace BIP2567I: Node 'XML_Reservation.UpdateFlightTable': Assigning NULL to ''Environment.Variables.FirstClassRemain'', thus deleting it.
2013-10-22 13:13:07.487669 18080 UserTrace BIP2537I: Node 'XML_Reservation.UpdateFlightTable': Executing statement ''SET Environment.Variables.NoPassengers = 0;'' at ('.UpdateFlightTable.Main', '14.3').
2013-10-22 13:13:07.487682 18080 UserTrace BIP2566I: Node 'XML_Reservation.UpdateFlightTable': Assigning value ''0'' to field / variable ''Environment.Variables.NoPassengers''.
2013-10-22 13:13:07.487741 18080 UserTrace BIP2537I: Node 'XML_Reservation.UpdateFlightTable': Executing statement ''WHILE LASTMOVE(ref) DO ... END WHILE;'' at ('.UpdateFlightTable.Main', '15.3').
2013-10-22 13:13:07.487767 18080 UserTrace BIP2540I: Node 'XML_Reservation.UpdateFlightTable': Finished evaluating expression ''LASTMOVE(ref)'' at ('.UpdateFlightTable.Main', '15.9'). The result was ''TRUE''.
2013-10-22 13:13:07.487799 18080 UserTrace BIP2537I: Node 'XML_Reservation.UpdateFlightTable': Executing statement ''IF ref.Class = 'F' THEN... END IF;'' at ('.UpdateFlightTable.Main', '16.4').
2013-10-22 13:13:07.487833 18080 UserTrace BIP2539I: Node 'XML_Reservation.UpdateFlightTable': Evaluating expression ''ref.Class'' at ('.UpdateFlightTable.Main', '16.7'). This resolved to ''ref.Class''. The result was ''ROW... Root Element Type=50331648 NameSpace='' Name='Class' Value='F'''.
2013-10-22 13:13:07.487852 18080 UserTrace BIP2539I: Node 'XML_Reservation.UpdateFlightTable': Evaluating expression ''ref.Class = 'F''' at ('.UpdateFlightTable.Main', '16.17'). This resolved to ''ROW... Root Element Type=50331648 NameSpace='' Name='Class' Value='F' = 'F'''. The result was ''TRUE''.
2013-10-22 13:13:07.487865 18080 UserTrace BIP2537I: Node 'XML_Reservation.UpdateFlightTable': Executing statement ''IF Environment.Variables.FirstClassRemain >= 1 THEN... ELSE... END IF;'' at ('.UpdateFlightTable.Main', '17.5').
2013-10-22 13:13:07.487876 18080 UserTrace BIP2543I: Node 'XML_Reservation.UpdateFlightTable': ('.UpdateFlightTable.Main', '17.8') : Failed to navigate to path element number '3' because it does not exist.
2013-10-22 13:13:07.487889 18080 UserTrace BIP2539I: Node 'XML_Reservation.UpdateFlightTable': Evaluating expression ''Environment.Variables.FirstClassRemain'' at ('.UpdateFlightTable.Main', '17.8'). This resolved to ''Environment.Variables.FirstClassRemain''. The result was ''NULL''.
2013-10-22 13:13:07.487901 18080 UserTrace BIP2539I: Node 'XML_Reservation.UpdateFlightTable': Evaluating expression ''Environment.Variables.FirstClassRemain >= 1'' at ('.UpdateFlightTable.Main', '17.47'). This resolved to ''NULL >= 1''. The result was ''NULL''.
2013-10-22 13:13:07.487915 18080 UserTrace BIP2537I: Node 'XML_Reservation.UpdateFlightTable': Executing statement ''THROW EXCEPTION MESSAGE 2949 VALUES( 'Number of passengers exceeds capacity');'' at ('.UpdateFlightTable.Main', '22.6').
2013-10-22 13:13:07.488051 18080 UserTrace BIP2231E: Error detected whilst processing a message in node 'XML_Reservation.XML_RESERVATION_IN'.
The message broker detected an error whilst processing a message in node 'XML_Reservation.XML_RESERVATION_IN'. The message has been augmented with an exception list and has been propagated to the node's failure terminal for further processing.
See the following messages for details of the error.
2013-10-22 13:13:07.488062 18080 RecoverableException BIP2230E: Error detected whilst processing a message in node 'XML_Reservation.UpdateFlightTable'.
The message broker detected an error whilst processing a message in node 'XML_Reservation.UpdateFlightTable'. An exception has been thrown to cut short the processing of the message.
See the following messages for details of the error.
2013-10-22 13:13:07.488070 18080 RecoverableException BIP2488E: ('.UpdateFlightTable.Main', '22.6') Error detected whilst executing the SQL statement ''THROW EXCEPTION MESSAGE 2949 VALUES( 'Number of passengers exceeds capacity');''.
The message broker detected an error whilst executing the given statement. An exception has been thrown to cut short the SQL program.
See the following messages for details of the error.
2013-10-22 13:13:07.488076 18080 UserException BIP2949I: A user generated ESQL exception has been thrown. The additional information provided with this exception is: ''Number of passengers exceeds capacity'' 'XML_Reservation.UpdateFlightTable' '{2}' '{3}' '{4}' '{5}' '{6}' '{7}' '{8}' '{9}'
This exception was thrown by a THROW EXCEPTION statement. This is the normal behavior of the THROW statement.
Since this is a user generated exception, the user action is determined by the message flow and the type of exception thrown.
2013-10-22 13:13:07.488127 18080 UserTrace BIP2539I: Node 'XML_Reservation.LogException': Evaluating expression ''Environment'' at ('', '4.3'). This resolved to ''Environment''. The result was ''ROW... Root Element Type=16777216 NameSpace='' Name='Root' Value=NULL''.
2013-10-22 13:13:07.488156 18080 UserTrace BIP2539I: Node 'XML_Reservation.LogException': Evaluating expression ''ExceptionList'' at ('', '7.3'). This resolved to ''ExceptionList''. The result was ''ROW... Root Element Type=16777216 NameSpace='' Name='Root' Value=NULL''.
2013-10-22 13:13:07.488523 18080 Error BIP3052E: Error message ''==== Exception caught in input node XML_RESERVATION_IN =======

Environment is:
( ['MQROOT' : 0x1731b358]
(0x01000000:Name):Variables = (
(0x03000000:NameValue):NoPassengers = 0 (INTEGER)
)
)

Exception List is:
( ['MQROOT' : 0x172bb1b8]
(0x01000000:Name):RecoverableException = (
(0x03000000:NameValue):File = 'F:\build\S700_P\src\DataFlowEngine\ImbDatabaseNode.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 313 (INTEGER)
(0x03000000:NameValue):Function = 'ImbDatabaseNode::evaluate' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmDatabaseNode' (CHARACTER)
(0x03000000:NameValue):Name = 'XML_Reservation#FCMComposite_1_4' (CHARACTER)
(0x03000000:NameValue):Label = 'XML_Reservation.UpdateFlightTable' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 2230 (INTEGER)
(0x03000000:NameValue):Text = 'Caught exception and rethrowing' (CHARACTER)
(0x01000000:Name ):RecoverableException = (
(0x03000000:NameValue):File = 'F:\build\S700_P\src\DataFlowEngine\ImbRdl\ImbRdlStatementGroup.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 641 (INTEGER)
(0x03000000:NameValue):Function = 'SqlStatementGroup::execute' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmDatabaseNode' (CHARACTER)
(0x03000000:NameValue):Name = 'XML_Reservation#FCMComposite_1_4' (CHARACTER)
(0x03000000:NameValue):Label = 'XML_Reservation.UpdateFlightTable' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 2488 (INTEGER)
(0x03000000:NameValue):Text = 'Error detected, rethrowing' (CHARACTER)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = '.UpdateFlightTable.Main' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = '22.6' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'THROW EXCEPTION MESSAGE 2949 VALUES( 'Number of passengers exceeds capacity');' (CHARACTER)
)
(0x01000000:Name ):UserException = (
(0x03000000:NameValue):File = 'F:\build\S700_P\src\DataFlowEngine\ImbRdl\ImbRdlThrowExceptionStatements.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 229 (INTEGER)
(0x03000000:NameValue):Function = 'SqlThrowExceptionStatement::execute' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmDatabaseNode' (CHARACTER)
(0x03000000:NameValue):Name = 'XML_Reservation#FCMComposite_1_4' (CHARACTER)
(0x03000000:NameValue):Label = 'XML_Reservation.UpdateFlightTable' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 1 (INTEGER)
(0x03000000:NameValue):Number = 2949 (INTEGER)
(0x03000000:NameValue):Text = 'User generated exception' (CHARACTER)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'Number of passengers exceeds capacity' (CHARACTER)
)
)
)
)
)
'' from trace node 'XML_Reservation.LogException'.
The trace node 'XML_Reservation.LogException' has output the specified error message.
This is an error message provided by the message flow designer. The user response will be determined by the local environment.
2013-10-22 13:13:07.488570 18080 UserTrace BIP4067I: Message propagated to output terminal for trace node 'XML_Reservation.LogException'.
The trace node 'XML_Reservation.LogException' has received a message and is propagating it to any nodes connected to its output terminal.
No user action required.
2013-10-22 13:13:07.488693 18080 UserTrace BIP2638I: The MQ output node 'XML_Reservation.XML_RESERVATION_FAIL' attempted to write a message to queue ''XML_RESERVATION_FAIL'' connected to queue manager ''''. The MQCC was '0' and the MQRC was '0'.
2013-10-22 13:13:07.488705 18080 UserTrace BIP2622I: Message successfully output by output node 'XML_Reservation.XML_RESERVATION_FAIL' to queue ''XML_RESERVATION_FAIL'' on queue manager ''''.
2013-10-22 13:13:27.421169 15968 UserTrace BIP2632I: Message received and propagated to 'out' terminal of MQ input node '.InputNode'.
2013-10-22 13:13:27.421258 15968 UserTrace BIP6060I: Parser type ''Properties'' created on behalf of node '.InputNode' to handle portion of incoming message of length 0 bytes beginning at offset '0'.
2013-10-22 13:13:27.421277 15968 UserTrace BIP6061I: Parser type ''MQMD'' created on behalf of node '.InputNode' to handle portion of incoming message of length '364' bytes beginning at offset '0'. Parser type selected based on value ''MQHMD'' from previous parser.
2013-10-22 13:13:27.421323 15968 UserTrace BIP6061I: Parser type ''XMLS'' created on behalf of node '.InputNode' to handle portion of incoming message of length '218' bytes beginning at offset '364'. Parser type selected based on value ''XMLS'' from previous parser.
2013-10-22 13:13:27.421499 15968 Information BIP2152I: Configuration message received from broker.
An execution group received a command from the Broker.
No user action required.
2013-10-22 13:13:27.421617 15968 Information BIP2153I: About to ''change'' an execution group.
An execution group is about to perform an action.
No user action required.

Threads encountered in this trace:
15968 18080
Back to top
View user's profile Send private message
dogorsy
PostPosted: Tue Oct 22, 2013 9:59 am    Post subject: Reply with quote

Knight

Joined: 13 Mar 2013
Posts: 553
Location: Home Office

Good now you know how to get a debug user trace.
Next step is to read it. See what you can find out. You need to understand that this is NOT A TRAINING SITE.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Airline Reservation Sample Help
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.