Author |
Message
|
krish |
Posted: Fri May 31, 2002 8:13 am Post subject: debug panel , wher is my MRM field |
|
|
Apprentice
Joined: 20 Apr 2002 Posts: 27
|
When I do dubug, my MRM message is not giving the filed name and filed value under Messgae content> MRM , but giving only for MQMD
( in the debug pane)
Where I am making mistake |
|
Back to top |
|
 |
kirani |
Posted: Fri May 31, 2002 9:33 am Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Looks like your MRM message parsing is failing and your message tree is not getting build.
Try printing ExceptionList in a trace node. ExceptionList will tell you where exactly it is failing. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
krish |
Posted: Sun Jun 02, 2002 8:46 pm Post subject: |
|
|
Apprentice
Joined: 20 Apr 2002 Posts: 27
|
Can you give be a sample, how to get exception list , i use trace node, but i am not getting anything in , using file log
thanks |
|
Back to top |
|
 |
kirani |
Posted: Mon Jun 03, 2002 6:00 am Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Write
${ExceptionList}
in the Trace node ESQL Pane. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
krish |
Posted: Mon Jun 03, 2002 8:18 am Post subject: |
|
|
Apprentice
Joined: 20 Apr 2002 Posts: 27
|
Kiran,
I use the $ (ExceptionList) in the pattern , Still not.
any other configurations change |
|
Back to top |
|
 |
kirani |
Posted: Mon Jun 03, 2002 8:32 am Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Krish,
Where did you connect your Trace node? You should connect your Trace node to "catch" terminal of MQInput node.
Set the following properties for Trace node,
Destination: File
File Path: e:\...\error.txt (File will be created on WMQI Broker Server)
Pattern:
${ExceptionList} _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
krish |
Posted: Mon Jun 03, 2002 8:54 am Post subject: |
|
|
Apprentice
Joined: 20 Apr 2002 Posts: 27
|
Thanks Kiran, I got it but now my trace file is this and i attach the message format, i am doing somthing with MRM parser
please can you find the fault
(
(0x1000000)RecoverableException = (
(0x3000000)File = 'F:\build\S210_P\src\DataFlowEngine\ImbDataFlowNode.cpp'
(0x3000000)Line = 536
(0x3000000)Function = 'ImbDataFlowNode::createExceptionList'
(0x3000000)Type = 'ComIbmMQInputNode'
(0x3000000)Name = 'ac691b37-ee00-0000-0080-d08bdf23fc65'
(0x3000000)Label = 'test1_debug_.MQInput1'
(0x3000000)Text = 'Node throwing exception'
(0x3000000)Catalog = 'WMQIv210'
(0x3000000)Severity = 3
(0x3000000)Number = 2230
(0x1000000)RecoverableException = (
(0x3000000)File = 'F:\build\S210_P\src\DataFlowEngine\ImbMqOutputNode.cpp'
(0x3000000)Line = 708
(0x3000000)Function = 'ImbMqOutputNode::evaluate'
(0x3000000)Type = 'ComIbmMQOutputNode'
(0x3000000)Name = '06731b37-ee00-0000-0080-d08bdf23fc65'
(0x3000000)Label = 'test1_debug_.MQOutput1'
(0x3000000)Text = 'Caught exception and rethrowing'
(0x3000000)Catalog = 'WMQIv210'
(0x3000000)Severity = 3
(0x3000000)Number = 2230
(0x1000000)ParserException = (
(0x3000000)File = 'F:\build\S210_P\src\MTI\MTIforBroker\MtiImbParser2\MtiImbParser.cpp'
(0x3000000)Line = 1187
(0x3000000)Function = 'MtiImbParser::refreshBitStreamFromElements - 9 par'
(0x3000000)Type = 'ComIbmMQInputNode'
(0x3000000)Name = 'ac691b37-ee00-0000-0080-d08bdf23fc65'
(0x3000000)Label = 'test1_debug_.MQInput1'
(0x3000000)Text = 'ImbRecoverableException caught from worker when attempting to write out the bitstream.'
(0x3000000)Catalog = 'WMQIv210'
(0x3000000)Severity = 3
(0x3000000)Number = 5286
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = 'DPUCFUO074001'
)
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = 'CWF'
)
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = 'Saldo_Message'
)
(0x1000000)ParserException = (
(0x3000000)File = 'F:\build\S210_P\src\cpi\pwf\cwf\cwfworker.cpp'
(0x3000000)Line = 304
(0x3000000)Function = 'CWFWorker::write'
(0x3000000)Type = ''
(0x3000000)Name = ''
(0x3000000)Label = ''
(0x3000000)Text = 'CWF General Error'
(0x3000000)Catalog = 'WMQIv210'
(0x3000000)Severity = 3
(0x3000000)Number = 5167
(0x1000000)Insert = (
(0x3000000)Type = 2
(0x3000000)Text = '0'
)
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = 'CWFWorker::write'
)
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = 'DPUCFUO074001'
)
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = 'Saldo_Message'
)
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = '--'
)
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = '--'
)
(0x1000000)ParserException = (
(0x3000000)File = 'F:\build\S210_P\src\cpi\pwf\cwf\cwfcontext.cpp'
(0x3000000)Line = 342
(0x3000000)Function = 'CContext::CheckDefaultValue'
(0x3000000)Type = ''
(0x3000000)Name = ''
(0x3000000)Label = ''
(0x3000000)Text = 'CWF Logical Tree - Message Definition Mismatch'
(0x3000000)Catalog = 'WMQIv210'
(0x3000000)Severity = 3
(0x3000000)Number = 5344
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = 'DPUCFUO074001'
)
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = 'Saldo_Message'
)
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = 'COD_App_Solicitate'
)
)
(0x1000000)ParserException = (
(0x3000000)File = 'F:\build\S210_P\src\cpi\pwf\cwf\cwfcontext.cpp'
(0x3000000)Line = 342
(0x3000000)Function = 'CContext::CheckDefaultValue'
(0x3000000)Type = ''
(0x3000000)Name = ''
(0x3000000)Label = ''
(0x3000000)Text = 'CWF Logical Tree - Message Definition Mismatch'
(0x3000000)Catalog = 'WMQIv210'
(0x3000000)Severity = 3
(0x3000000)Number = 5344
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = 'DPUCFUO074001'
)
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = 'Saldo_Message'
)
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = 'COD_App_Solicitate'
)
)
)
)
)
)
)
and messga e format as followa
typedef struct
{
char COD_Interfase[4];
char COD_App_Solicitate[2];
char COD_Institution[1];
char COD_Retorno[2];
char Filler_Req[15];
char COD_App_Prov_Req[12];
char COD_App_Prov_Resp[12];
char COD_App_Solic_Resp[12];
char Filler_Resp[30];
char MessageText[2000];
} Saldo_Message, *pSaldoStruc; |
|
Back to top |
|
 |
kirani |
Posted: Mon Jun 03, 2002 9:06 am Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
The error says that there is a mismatch between the Logical Tree created by Broker into memory and Message Definition. Looks like Element COD_App_Solicitate does not exist in your logical tree.
Check your ESQL in compute node where you are doing transformation for this message (or creating a new message). Can you post your ESQL here? Also let me know what are you trying to do in your message flow and what is your input and expected output. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
krish |
Posted: Mon Jun 03, 2002 9:15 am Post subject: |
|
|
Apprentice
Joined: 20 Apr 2002 Posts: 27
|
de
Last edited by krish on Wed Jun 05, 2002 9:16 am; edited 1 time in total |
|
Back to top |
|
 |
kirani |
Posted: Mon Jun 03, 2002 9:41 am Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Krish,
Above information is not enough! What is your input message type? Is it XML or MRM? Are you trying to create output MRM message from incoming XML message?
For example, If you are trying to create output MRM message from an incoming XML message and your input message layout is like this,
<Saldo_Message>
<COD_Interfase>XXXX</COD_Interfase>
<COD_App_Solicitate>WWWW</COD_App_Solicitate>
.....
</Saldo_Message>
In your compute node you should select "Copy Message Headers" and write following ESQL to do transformation,
SET OutputRoot.MRM.COD_Interfase = InputBody.Saldo_Message."COD_Interfase";
....
SET OutputRoot.MRM.MessageText = InputBody.Saldo_Message."MessageText";
SET OutputRoot.Properties.MessageSet = 'DPUCFUO074001';
SET OutputRoot.Properties.MessageType = 'Saldo_Message';
SET OutputRoot.Properties.MessageFormat = 'CWF';
SET OutputRoot.Properties.MessageDomain = 'MRM';
What version of WMQI are you using? If you are using 2.1, you can assign default values to MRM elements. You must set a value for each mandatory element within your messageset.
Hope this helps! _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
krish |
Posted: Mon Jun 03, 2002 11:11 am Post subject: |
|
|
Apprentice
Joined: 20 Apr 2002 Posts: 27
|
typedef struct
{
char COD_Interfase[4];
char COD_App_Solicitate[2];
char COD_Institution[1];
char COD_Retorno[2];
char Filler_Req[15];
char COD_App_Prov_Req[12];
char COD_App_Prov_Resp[12];
char COD_App_Solic_Resp[12];
char Filler_Resp[30];
char MessageText[2000];
} Saldo_Message, *pSaldoStruc;
this is the MRM input message set
Input node, MRM, CWF
outputnode MRM
I want
COD_App_Prov_Resp to be updated from database
and some contact admin in messageformat
if you help me this i can move ahead. i am struck here |
|
Back to top |
|
 |
krish |
Posted: Mon Jun 03, 2002 11:30 am Post subject: |
|
|
Apprentice
Joined: 20 Apr 2002 Posts: 27
|
sorry I am using wMQI 2.1 |
|
Back to top |
|
 |
krish |
Posted: Mon Jun 03, 2002 1:37 pm Post subject: |
|
|
Apprentice
Joined: 20 Apr 2002 Posts: 27
|
I CREATED A MESSAGE AS FOLLOWS
THESE ARE THE STEPS I DID
I CREATED A MESSAGE SET
ADDESD THE cwf
ADD THE TYPES
CREATED MESSAGE
THEN INPUT -> COMPUTE -> OUTPUT
bUT i AM GETTING ERROR AS ABOVE. GIVE ME SOME HINT
THANKS IN ADVANCE
KP |
|
Back to top |
|
 |
kirani |
Posted: Mon Jun 03, 2002 1:52 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Krish,
If I understand correctly, you have
1. created a messageset and added Physical Wire Format (CWF) to it.
2. You imported above message definition from C header file, which created a type element for you(For example, SALDO_MESSAGE_TYPE).
3. You created a message (for example, m_Saldo), which is of the type SALDO_MESSAGE_TYPE.
4. you assigned this message set to the broker.
No issues here, right?
Since you are expecting input message in m_Saldo format, either your MQInput node should be configured to use above message definition or you have to add MQRFH2 message header to your input message. Make sure your input message is of correct size. Your message size should be 2090 bytes.
If you want to update any of these elements, you should set "Copy entire message" in your compute node and use ESQL to update any elements. For example,
SET OutputRoot.MRM.COD_APP_PROV_RESP = 'ABCD..';
....
This should solve your problem!
I would recommend you to go through IBM WMQI manuals. They are very neat and easy to understand. They also walk you through some MRM examples. There are few WMQI redbooks(see below) that may be of great help to you also.
WMQI Deployment and Migration (sg246509)
Developing Solutions in WMQI (sg246579)
Hope this helps. good luck! _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
|