|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Using essage catalogue in Throw node. |
« View previous topic :: View next topic » |
Author |
Message
|
Cogito-Ergo-Sum |
Posted: Thu Sep 26, 2013 7:27 am Post subject: Using essage catalogue in Throw node. |
|
|
 Master
Joined: 07 Feb 2006 Posts: 293 Location: Bengaluru, India
|
I am trying to use my message catalogue in Throw node. The Infocenter says, for Message Catalog property,
Quote: |
The name of the message catalog from which the error text for the error number of the exception is extracted. Enter the fully-qualified path and file name of the message catalog that contains the message source. |
I provided /home/user/messages/En_US/myMessages as the value for Message Catalog property. Also, I set the NLSPATH to /home/user/messages/En_US/%N and /home/user/messages/%L/%N. At runtime, I have a failure message as shown below.
Code: |
Sep 26 18:20:02 nsubrahm WebSphere Broker v8001[10958]: (BRKR01.default)[14]BIP2176S: Could not find message 1234 in catalogue /opt/ibm/mqsi/8.0.0.1/messages/En_US//home/user/messages/En_US/myMessages.cat, inserts are n.THR01 {2} {3} {4} {5} {6}: BRKR01.541eb1bc-3e01-0000-0080-e0363f2dd01b: /build/slot1/S800_P/src/DataFlowEngine/BasicNodes/ImbThrowNode.cpp: 273: ImbThrowNode::evaluate: ComIbmThrowNode: n#FCMComposite_1_5
|
So, I provided myMessages as the value for Message Catalog property. At runtime, I have this error message,
Code: |
Sep 26 18:15:32 nsubrahm WebSphere Broker v8001[10958]: (BRKR01.default)[12]BIP2176S: Could not find message 1234 in catalogue /opt/ibm/mqsi/8.0.0.1/messages/En_US/myMessages.cat, inserts are n.THR01 {2} {3} {4} {5} {6}: BRKR01.541eb1bc-3e01-0000-0080-e0363f2dd01b: /build/slot1/S800_P/src/DataFlowEngine/BasicNodes/ImbThrowNode.cpp: 273: ImbThrowNode::evaluate: ComIbmThrowNode: n#FCMComposite_1_5
|
I do not know, why is my folder not picked up. I can try setting up a soft-link for /opt/ibm/mqsi/8.0.0.1/messages/En_US/myMessages.cat to point to /home/user/messages/En_US/myMessages.cat. Is this the way to get this working ?
WMB v8 on Linux. _________________ ALL opinions are welcome.
-----------------------------
Debugging tip:When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
---Sherlock Holmes |
|
Back to top |
|
 |
lancelotlinc |
Posted: Thu Sep 26, 2013 7:30 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
First off, you need to update your runtime to 8.0.0.2. Toolkit to 8.0.0.2 iFix 001.
Second, the message catalog is optional. You can throw error messages without a message catalog.
Third, I've found that using the message catalog is too cumbersome for a light-weight team to maintain. Five years ago, we used it, but it took too much effort to keep it up, so we abandoned it. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
Cogito-Ergo-Sum |
Posted: Thu Sep 26, 2013 7:35 am Post subject: |
|
|
 Master
Joined: 07 Feb 2006 Posts: 293 Location: Bengaluru, India
|
lancelotlinc wrote: |
Second, the message catalog is optional. You can throw error messages without a message catalog.
|
But, that means, it will take the default catalog, no ? _________________ ALL opinions are welcome.
-----------------------------
Debugging tip:When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
---Sherlock Holmes |
|
Back to top |
|
 |
lancelotlinc |
Posted: Thu Sep 26, 2013 7:44 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
Cogito-Ergo-Sum wrote: |
lancelotlinc wrote: |
Second, the message catalog is optional. You can throw error messages without a message catalog.
|
But, that means, it will take the default catalog, no ? |
No, it will take no catalog. It will simply put whatever you throw into the syslog, with no pretty-fication.
Code: |
THROW USER EXCEPTION MESSAGE 7006 VALUES
( 'Unhandled exception in XXXXX_YYYYY_Compute3', COALESCE( 'XXXX_YYYYY_Compute3 : XXXXX_YYYYY : ChangeStateDefect() not implemented : XXXXXXX Id: ' || Environment.Variables.XMLNSC.XXXXXXX_ID , 'XXXXX_YYYYYY_Compute3 : null' ));
|
The only purpose of a message catalog is to make pretty your error message. If you don't care about putting on lipstick, then you don't need it. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
Cogito-Ergo-Sum |
Posted: Thu Sep 26, 2013 9:20 am Post subject: |
|
|
 Master
Joined: 07 Feb 2006 Posts: 293 Location: Bengaluru, India
|
lancelotlinc wrote: |
No, it will take no catalog. It will simply put whatever you throw into the syslog, with no pretty-fication. |
Thanks ! _________________ ALL opinions are welcome.
-----------------------------
Debugging tip:When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
---Sherlock Holmes |
|
Back to top |
|
 |
mgk |
Posted: Thu Sep 26, 2013 9:40 am Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Quote: |
No, it will take no catalog. It will simply put whatever you throw into the syslog, with no pretty-fication. |
I respectfully disagree. From the infocenter
Quote: |
CATALOG is an optional clause; if you omit it, CATALOG defaults to the IBM® Integration Bus current version catalog. To use the current version message catalog explicitly, use BIPmsgs on all operating systems. |
http://pic.dhe.ibm.com/infocenter/wmbhelp/v9r0m0/topic/com.ibm.etools.mft.doc/ak05150_.htm
Kind regards, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
lancelotlinc |
Posted: Fri Sep 27, 2013 3:18 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
mgk wrote: |
Quote: |
No, it will take no catalog. It will simply put whatever you throw into the syslog, with no pretty-fication. |
I respectfully disagree. From the infocenter
Quote: |
CATALOG is an optional clause; if you omit it, CATALOG defaults to the IBM® Integration Bus current version catalog. To use the current version message catalog explicitly, use BIPmsgs on all operating systems. |
http://pic.dhe.ibm.com/infocenter/wmbhelp/v9r0m0/topic/com.ibm.etools.mft.doc/ak05150_.htm
Kind regards, |
Perhaps I should state it another way : If an exception is thrown, and the error number cannot be found in the catalog (default or otherwise), the error will still show up in the system log. Therefore, CATALOG is optional and no CATALOG development is needful, unless the person desires to have well-formed pretty filler sentences in the system log. Without the filler sentences that the CATALOG may provide, the system out put is like so:
Code: |
Apr 30 08:08:07 abc-wwww-999 WebSphere Broker v8002[24944]: (WMAAAPD1.ZZZ_YYY_EG)[68]BIP2488E: (com.sssss.esb.eeee.aaaa.XXXXX_INSERT_Compute2.Main, 17.3) Error detected whilst executing the SQL statement 'THROW EXCEPTION MESSAGE 7002 VALUES( 'Unhandled exception in CXXXX_INSERT_Compute2', Environment.Variables.XMLNSC.{ReplyId}.XXXXX_INSERT.response);'. : WSSSD1.ae7d5a33-3e01-0000-0080-95b5c9f71c35: /build/slot1/S800_P/src/DataFlowEngine/ImbRdl/ImbRdlStatementGroup.cpp: 692: SqlStatementGroup::execute: :
|
For people who would rather invest significant time in writing real code rather than filler sentences, this may be a good route. At some point later in the development cycle when developer time is at a lesser premium, one can go back and put proper catalog in place. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
mqjeff |
Posted: Fri Sep 27, 2013 7:31 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
I'm going to disagree with MGK on the simple pedantic point that it is the Throw node in question, not the Throw statement.
The original issue appears to be that Cogito-Ergo-Sum is trying to use a full path, when the Throw node only supports a relative path from the broker install directory.
So the solution to the original query is to move the catalog to the broker install directory or put in a path that points to the right place relative to the broker install directory. |
|
Back to top |
|
 |
mgk |
Posted: Fri Sep 27, 2013 8:14 am Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Quote: |
Throw node in question, not the Throw statement. |
Did not spot that . However, internally the throw node has the same behaviour - default to the broker catalogue if one is not provided...
Kind regards, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
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
|
|
|
|