Author |
Message
|
sri_csee1983 |
Posted: Tue Apr 01, 2008 1:52 am Post subject: Message Id not in CWF File |
|
|
 Centurion
Joined: 25 Mar 2008 Posts: 125 Location: Chennai,India
|
Dear friend,
I am trying to convert the EBCDIC message to XML. Flow is like this
Input node --> Compute (Set the values to XML from EBCDIC) ---> On success Output node / On failure Failure queue.
Tested the flow for a correct ( valid ) message. It directly goes to the Failure queue. Following is the trace of the same.
-------------2008-04-01 17:43:54.120 RHB_FEE_INQ_REQ -------------
EL: (
(0x01000000):RecoverableException = (
(0x03000000):File = 'F:\build\S500_P\src\DataFlowEngine\ImbDataFlowNode.cpp'
(0x03000000):Line = 558
(0x03000000):Function = 'ImbDataFlowNode::createExceptionList'
(0x03000000):Type = 'ComIbmComputeNode'
(0x03000000):Name = 'FeeInquiryReqMsgFlow#FCMComposite_1_2'
(0x03000000):Label = 'FeeInquiryReqMsgFlow.CBL2XML'
(0x03000000):Text = 'Node throwing exception'
(0x03000000):Catalog = 'BIPv500'
(0x03000000):Severity = 3
(0x03000000):Number = 2230
(0x01000000):RecoverableException = (
(0x03000000):File = 'F:\build\S500_P\src\DataFlowEngine\ImbRdl\ImbRdlStatementGroup.cpp'
(0x03000000):Line = 158
(0x03000000):Function = 'SqlStatementGroup::execute'
(0x03000000):Type = 'ComIbmComputeNode'
(0x03000000):Name = 'FeeInquiryReqMsgFlow#FCMComposite_1_2'
(0x03000000):Label = 'FeeInquiryReqMsgFlow.CBL2XML'
(0x03000000):Text = 'Error detected, rethrowing'
(0x03000000):Catalog = 'BIPv500'
(0x03000000):Severity = 3
(0x03000000):Number = 2488
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = '.FeeInquiryReqMsgFlow_Compute.Main'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = '8.6'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'SET OutputRoot.MRM.FeeInqReq.CICSTransactionId = InputRoot.MRM.msg_CMD_FEE_INQ.HD_CMD_FEE_INQ.HD_CICS_TRAN_ID;'
)
(0x01000000):ParserException = (
(0x03000000):File = 'F:\build\S500_P\src\MTI\MTIforBroker\MtiImbParser2\MtiImbSyntaxElement.cpp'
(0x03000000):Line = 371
(0x03000000):Function = 'CpContext::setToParse'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Text = 'ImbRecoverableException caught from worker->initializeParse/setFIHandler.'
(0x03000000):Catalog = 'BIPv500'
(0x03000000):Severity = 3
(0x03000000):Number = 5285
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'FeeInquiryMsgSet'
)
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '1'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'CWF1'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'cfinqm'
)
(0x01000000):ParserException = (
(0x03000000):File = 'F:\build\S500_P\src\cpi\pwf\cwf\cwfworker.cpp'
(0x03000000):Line = 415
(0x03000000):Function = 'CWFWorker::initializeParse'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Text = 'Message Id not in CWF File'
(0x03000000):Catalog = 'BIPv500'
(0x03000000):Severity = 3
(0x03000000):Number = 5180
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '0'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'CWFWorker::initializeParse'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'PT3T1KC002001'
)
)
)
)
)
)
LE:
ENV:
ROOT: (
(0x01000000):Properties = (
(0x03000000):MessageSet = 'FeeInquiryMsgSet'
(0x03000000):MessageType = 'cfinqm'
(0x03000000):MessageFormat = 'CWF1'
(0x03000000):Encoding = 785
(0x03000000):CodedCharSetId = 37
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2008-04-01 17:35:00.450'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
)
(0x01000000):MQMD = (
(0x03000000):SourceQueue = 'RHB.FEE.INQ.REQ.IN'
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 785
(0x03000000):CodedCharSetId = 37
(0x03000000):Format = ' '
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):MsgType = 8
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = 0
(0x03000000):Persistence = 0
(0x03000000):MsgId = X'f7f0f0f0f0f0404040404040404040404040404040404040'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = ' '
(0x03000000):ReplyToQMgr = 'MQD1 '
(0x03000000):UserIdentifier = 'stcuibs '
(0x03000000):AccountingToken = X'160dd9c8c2d5c5e3f1c44bd3c2f4f72e378d1885910001000000000000000000'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 1
(0x03000000):PutApplName = 'CICSEAI TTOX '
(0x03000000):PutDate = DATE '2008-04-01'
(0x03000000):PutTime = GMTTIME '17:35:00.450'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x01000021):MRM =
Kindly help me on this regard |
|
Back to top |
|
 |
Vitor |
Posted: Tue Apr 01, 2008 2:04 am Post subject: Re: Message Id not in CWF File |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
sri_csee1983 wrote: |
Kindly help me on this regard |
Either use the right message set, or indicate to the broker which message set is the right one.
 _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
sri_csee1983 |
Posted: Tue Apr 01, 2008 2:52 am Post subject: |
|
|
 Centurion
Joined: 25 Mar 2008 Posts: 125 Location: Chennai,India
|
Dear Vitor,
Thanks for ur reply. Following is the body of my ESQL Code
SET OutputRoot.Properties.MessageSet = 'PT3T1KC002001';
SET OutputRoot.Properties.MessageType = 'FeeInquiryReq';
SET OutputRoot.Properties.MessageFormat = 'XML1';
SET OutputRoot.MRM.FeeInqReq.CICSTransactionId = InputRoot.MRM.msg_CMD_FEE_INQ.HD_CMD_FEE_INQ.HD_CICS_TRAN_ID;
SET OutputRoot.MRM.FeeInqReq.MessigeDelimiter = InputRoot.MRM.msg_CMD_FEE_INQ.HD_CMD_FEE_INQ.HD_MEG_DELIM;
SET OutputRoot.MRM.FeeInqReq.ExternalTrancode = InputRoot.MRM.msg_CMD_FEE_INQ.HD_CMD_FEE_INQ.HD_EXTRNL_TRAN_CODE;
And also I find the Message Set ID as PT3T1KC002001 my message set properties. And I also deployed both the Message Flow Project and Message Set project in the same Execution group. And also both these projects are referenced to each other in the workspace. What else should I check now. Please tell me. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Apr 01, 2008 2:55 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
sri_csee1983 wrote: |
SET OutputRoot.Properties.MessageSet = 'PT3T1KC002001';
|
Why, exactly, are you surprised that WMB can't parse the input message when the message set id is set on the output message tree?
How is the input message tagged & parsed in your flow? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
sri_csee1983 |
Posted: Tue Apr 01, 2008 3:09 am Post subject: |
|
|
 Centurion
Joined: 25 Mar 2008 Posts: 125 Location: Chennai,India
|
Dear Vitor,
In the MQInputNode properties, I have set MRM as the default Message Domain, Message Set to the name the of Message set ( Actually it didnt come in the drop down) , Message Type as Message Definition File(EBCDIC mxsd) and Message Format as CWF1. And I wrote the SET Commands in the Compute node to parse it XML. Also have msxd file generated from an XML Schema file in the same Message set project.
This is how I have done, So far. Please let me know, what are all the things I have done as wrong one?  |
|
Back to top |
|
 |
Vitor |
Posted: Tue Apr 01, 2008 3:45 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
sri_csee1983 wrote: |
Message Set to the name the of Message set ( Actually it didnt come in the drop down) |
Sounds like the reference isn't properly established.
I'm assuming the input message doesn't have an RFH2 on it. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
sri_csee1983 |
Posted: Tue Apr 01, 2008 3:52 am Post subject: |
|
|
 Centurion
Joined: 25 Mar 2008 Posts: 125 Location: Chennai,India
|
Dear Vitor,
Please let me know how to check whether we have RHF2 Header is included in the message or not? In the debug mode I used Step into source in which I went to esql statements. It passed the first thress statements.
SET OutputRoot.Properties.MessageSet = 'PT3T1KC002001';
SET OutputRoot.Properties.MessageType = 'FeeInquiryReq';
SET OutputRoot.Properties.MessageFormat = 'XML1';
But as soon as the fourth line
SET OutputRoot.MRM.FeeInqReq.CICSTransactionId = InputRoot.MRM.msg_CMD_FEE_INQ.HD_CMD_FEE_INQ.HD_CICS_TRAN_ID;
is executed it comes to failure out of the compute node. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Apr 01, 2008 4:06 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
sri_csee1983 wrote: |
Please let me know how to check whether we have RHF2 Header is included in the message or not? |
I refuse to dignify that with an answer....
sri_csee1983 wrote: |
In the debug mode I used Step into source in which I went to esql statements. It passed the first thress statements.
SET OutputRoot.Properties.MessageSet = 'PT3T1KC002001';
SET OutputRoot.Properties.MessageType = 'FeeInquiryReq';
SET OutputRoot.Properties.MessageFormat = 'XML1';
|
Well there's not much can go wrong there, is there?
sri_csee1983 wrote: |
But as soon as the fourth line
...
is executed it comes to failure out of the compute node. |
Proving the input message set is not properly associated. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
satya2481 |
Posted: Tue Apr 01, 2008 4:10 am Post subject: |
|
|
Disciple
Joined: 26 Apr 2007 Posts: 170 Location: Bengaluru
|
Hi sri_csee1983,
RFH2 header is required if you want to specify the mesage set details in the incoming message header instead of specifying in the MQInput node. For example you can specify MessageDomain, MsgSet, MsgType in the MQRFH2 header itself.
If you want to check whether this header is present in your incoming mesage or not then add a break point just after the MQInput Node Out terminal and debug the mesage flow. If MQRFH2 header is present in the message that will appear just below the MQMD header.
I hope you deployed Message flow as well as the associated Mesage set in the same Execution group. Also check whether you referenced your message set project to the message flow project, by doing this you will be able to select the message set details in the MQInput node from the drop down menu instead of typing the details explicitly.
Some times the changes made in the configuration of MQInput node will not take effect. You delete the node and add the node again from the palette.
Bye
Satya _________________ IBM Certified Solution Developer WebSphere Message Broker V6.0
IBM Certified System Administrator WebSphere MQ V6.0 |
|
Back to top |
|
 |
sri_csee1983 |
Posted: Tue Apr 01, 2008 5:38 pm Post subject: |
|
|
 Centurion
Joined: 25 Mar 2008 Posts: 125 Location: Chennai,India
|
Dear Satya / Victor,
Thanks for ur replies. Now I went in this sequence. I created a new message set project and a message set in it with the formats CWF1 and XML1 enabled. Then I created the message definition files using the cobol copy book and the XML Schema file. Then I created the message flow project. While creating I enabled the newly created message set project alone as referrenced project. Then I created a flow. Now in the input node, I gave the queue name, Then coming to DEFAULT Properties, I Selected MRM, as Message Domain, Then didnt get my message set in the next drop down. What could be the reason? Please let me know, what else should I do to get my message set to get populated in to that drop down.  |
|
Back to top |
|
 |
sri_csee1983 |
Posted: Tue Apr 01, 2008 7:38 pm Post subject: |
|
|
 Centurion
Joined: 25 Mar 2008 Posts: 125 Location: Chennai,India
|
Dear Friends,
Just now I checked with the COBOL team, They said that they will send only the values (ie) they will send only the value of HD_CICS_TRAN_ID, but not the field. I mean they will not send the field descriptor(HD_CICS_TRAN_ID), but only the value of it. So I have asked them to send it with the field descriptor and check how my flow is going to work. |
|
Back to top |
|
 |
sri_csee1983 |
Posted: Tue Apr 01, 2008 7:53 pm Post subject: |
|
|
 Centurion
Joined: 25 Mar 2008 Posts: 125 Location: Chennai,India
|
Still the same blood after adding the Field descriptor with the message. It shows the same error. Please help me on this issue I am struck here. |
|
Back to top |
|
 |
satya2481 |
Posted: Tue Apr 01, 2008 10:28 pm Post subject: |
|
|
Disciple
Joined: 26 Apr 2007 Posts: 170 Location: Bengaluru
|
Quote: |
It shows the same error. |
Could you please explain this...
Regarding the MRM message set and type not coming in the drop down list issue - After referencing the Message set project to the Message flow project try to Clean the project (Select Project option from Menu and then select clean option). If clean doesn't work, close the project and reopen it again. _________________ IBM Certified Solution Developer WebSphere Message Broker V6.0
IBM Certified System Administrator WebSphere MQ V6.0 |
|
Back to top |
|
 |
sri_csee1983 |
Posted: Wed Apr 02, 2008 3:21 am Post subject: |
|
|
 Centurion
Joined: 25 Mar 2008 Posts: 125 Location: Chennai,India
|
Dear Friends,
Atlast I find these errors in Application Event Viewer Logs of Windows,
( RHB_BROKER.default ) CWF Error : Unknown message type
The CWF parser or writer has received an unknown message type identifier in the message properties.
The specified message set ('APCELAS002001') does not contain a message type with this identifier.
Previous errors will supply the message set name and the message type identifier.
Check that the supplied message identifier is correct
Check that the supplied message set identifier is correct
Check that the message set contains a message type with the specified identifier.
Now, this error means whether the incoming message is not proper or the problem is with the message sets?  |
|
Back to top |
|
 |
Vitor |
Posted: Wed Apr 02, 2008 3:29 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
sri_csee1983 wrote: |
Now, this error means whether the incoming message is not proper or the problem is with the message sets?  |
Could be either. Make sure the incoming message is tagged with the message type you expect, and that message type is in that message set. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|