|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Need help extracting ODBC error in ExceptionList |
« View previous topic :: View next topic » |
Author |
Message
|
moogoo |
Posted: Fri Feb 21, 2003 9:52 am Post subject: Need help extracting ODBC error in ExceptionList |
|
|
Acolyte
Joined: 20 Sep 2002 Posts: 54 Location: US
|
Hi all,
I'm attempting to extract the ODBC error that is returned in the ExceptionList into my outbound XML message in a compute node. However, I'm running into some problems.
My code looks like this:
SET OutputRoot = InputRoot;
SET OutputRoot.XML.CtlBlock.Event.ODBCError = CAST(InputExceptionList.RecoverableException.DatabaseException.DatabaseException"Insert"[LAST].Text AS CHAR);
After some tinkering, I finally got the error message correctly (seems like you need to have the CAST) into the output msg from what i saw in the trace file:
(0x1000000)CtlBlock = (
(0x1000000)Event = (
(0x1000000)ODBCError = (
(0x2000000) = '[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified'
Unfortunately, the altered message never appears on the output queue. If I take away the compute node (the above logic) that I have connected to the failure terminal off the first compute node, then the original input message appears fine on the failure output queue. When I add my enrichment compute node however, it never appears.
Anybody know what may be happening here? I can't seem to figure why the output message is suddenly not appearing.
Thanks,
MG |
|
Back to top |
|
 |
Sandman |
Posted: Mon Feb 24, 2003 11:30 am Post subject: |
|
|
Centurion
Joined: 16 Oct 2001 Posts: 134 Location: Lincoln, RI
|
If I understand your problem correctly, because you have your exception-parsing Compute node wired to the Failure terminal of another Compute node, you have effectively handled the failure of that node. So the only way you would actually navigate back to the MQInput node so that you could hit its Failure terminal would be if you did a Throw node (or a THROW statement w/in your exception-handling Compute node).
But even then, the message you'd get on your "output" queue (if that's what you refer to your MQOutput node wired to the Failure terminal of your MQInput node?) would be the original (rolled back) version of the incoming input message.
If you really wish to PUT the modified version of the message (containing the extracted ODBC exception info), perhaps you should wire from the Out terminal of your exception-handling Compute node directly to the same MQOutput node that is along the Failure path of your MQInput node?
Sound reasonable? |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|