Author |
Message
|
kathirvelt |
Posted: Mon Jan 12, 2015 2:04 pm Post subject: DFDL serializing error - how to get more details on the err. |
|
|
Apprentice
Joined: 02 Oct 2010 Posts: 32
|
I'm working with ACH file format and using DFDL schema to parse/transfrom the file and generate output in same format and write to file.
Getting below error.
Code: |
2015-01-08 17:19:28.486966 6427 >> } *DFDL* DFDLSerializer_endElement , 1
2015-01-08 17:19:28.486972 6427 >> { ImbDataFlowManager::type 6ad968cb-4a01-0000-0080-c03a45aeeb0d MessageFlow , MFL_PAS_ACH_TMK_EFT_To_Bank
2015-01-08 17:19:28.486976 6427 >> } ImbDataFlowManager::type 6ad968cb-4a01-0000-0080-c03a45aeeb0d MessageFlow , MFL_PAS_ACH_TMK_EFT_To_Bank
2015-01-08 17:19:28.486984 6427 >> { ImbDFDLErrorHandler::handleSerializerErrors MFL_PAS_ACH_TMK_EFT_To_Bank#FCMComposite_1_1 ComIbmFileInputNode , (*ptr)119fd29f0, MFL_PAS_ACH_TMK_EFT_To_Bank.File Input
2015-01-08 17:19:28.487050 6427 >> ImbDFDLErrorHandler::handleSerializerErrors , 'Throwing exception', '/build/slot1/S800_P/src/MTI/MTIforBroker/DfdlParser/ImbDFDLErrorHandler.cpp', 314, 'bipnum', 'An error occurred whilst serializing with DFDL', 'CTDU4035E: ', '/DFDL/{ach:2013}:ACHFile/{ach:2013}:Batch[1]/{ach:2013}:PPDEntry[1]'
2015-01-08 17:19:28.487062 6427 >> { ImbDataFlowManager::type 6ad968cb-4a01-0000-0080-c03a45aeeb0d MessageFlow , MFL_PAS_ACH_TMK_EFT_To_Bank
2015-01-08 17:19:28.487068 6427 >> } ImbDataFlowManager::type 6ad968cb-4a01-0000-0080-c03a45aeeb0d MessageFlow , MFL_PAS_ACH_TMK_EFT_To_Bank
2015-01-08 17:19:28.487108 6427 >> { ImbDataFlowManager::type 6ad968cb-4a01-0000-0080-c03a45aeeb0d MessageFlow , MFL_PAS_ACH_TMK_EFT_To_Bank
2015-01-08 17:19:28.487122 6427 >> } ImbDataFlowManager::type 6ad968cb-4a01-0000-0080-c03a45aeeb0d MessageFlow , MFL_PAS_ACH_TMK_EFT_To_Bank
2015-01-08 17:19:28.487130 6427 >> { ImbDFDLWriter::resetDFDLSerializer MFL_PAS_ACH_TMK_EFT_To_Bank#FCMComposite_1_1 ComIbmFileInputNode , MFL_PAS_ACH_TMK_EFT_To_Bank.File Input
|
When I just use default procedure to copy message from input to output message tree getting written to file without any issues.
But after using default proc to copy the message when I change the value for one of the element is message tree getting the serializing error . Code used to change the value in message tree is below.
Code: |
DECLARE tgtNs NAMESPACE 'ach:2013';
SET OutputRoot.DFDL.tgtNs:ACHFile.tgtNs:FileHeaderRecord.tgtNs:ImmediateDestination = '1111211111'; |
Can someone let me know how to get more details on error message/logs. |
|
Back to top |
|
 |
kimbert |
Posted: Mon Jan 12, 2015 2:44 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
|
Back to top |
|
 |
kathirvelt |
Posted: Mon Jan 12, 2015 3:05 pm Post subject: |
|
|
Apprentice
Joined: 02 Oct 2010 Posts: 32
|
I did use debug mode to identify the error, but it gives the same information that I see in the service trace. My output structure looks ok when I view through debug mode.
Code: |
Text:CHARACTER:An error occurred whilst serializing with DFDL
Insert
Type:INTEGER:5
Text:CHARACTER:CTDU4035E:
Insert
Type:INTEGER:5
Text:CHARACTER:/DFDL/{ach:2013}:ACHFile/{ach:2013}:Batch[1]/{ach:2013}:PPDEntry[1] |
I'll enable the user trace and see if I get more details. |
|
Back to top |
|
 |
kimbert |
Posted: Mon Jan 12, 2015 3:13 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
I should have said...
the debugger is not great when you need to see the details of a message tree. Trace nodes ( with destination set to 'user trace' ) work really well for me. _________________ Before you criticize someone, walk a mile in their shoes. That way you're a mile away, and you have their shoes too. |
|
Back to top |
|
 |
kathirvelt |
Posted: Tue Jan 13, 2015 9:47 am Post subject: |
|
|
Apprentice
Joined: 02 Oct 2010 Posts: 32
|
I do see the same information in user trace. There are no much details other than what I see in the debug mode or service trace.
Code: |
(0x01000000:Name ):ParserException = (
(0x03000000:NameValue):File = '/build/slot1/S800_P/src/MTI/MTIforBroker/DfdlParser/ImbDFDLErrorHandler.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 314 (INTEGER)
(0x03000000:NameValue):Function = 'ImbDFDLErrorHandler::handleSerializerErrors' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmFileInputNode' (CHARACTER)
(0x03000000:NameValue):Name = 'MFL_PAS_ACH_TMK_EFT_To_Bank#FCMComposite_1_1' (CHARACTER)
(0x03000000:NameValue):Label = 'MFL_PAS_ACH_TMK_EFT_To_Bank.File Input' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 5832 (INTEGER)
(0x03000000:NameValue):Text = 'An error occurred whilst serializing with DFDL' (CHARACTER)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'CTDU4035E: ' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = '/DFDL/{ach:2013}:ACHFile/{ach:2013}:Batch[1]/{ach:2013}:PPDEntry[1]' (CHARACTER)
)
)
)
) ~
|
|
|
Back to top |
|
 |
Vitor |
Posted: Tue Jan 13, 2015 9:56 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
kathirvelt wrote: |
I do see the same information in user trace. There are no much details other than what I see in the debug mode or service trace.
|
And when you used a Trace node as @kimbert suggested, what did you see?
The information may be the same as in the user trace, but much of the IBM Service Desk specific information has been stripped out and it's easier to read.
Debug mode shows you a parsed presentation of the data. If the problem you're trying to diagnose is a parsing problem, seeing a parsed attempt by the debugger rather than the message tree is unhelpful.
Finally, and critically, the user trace not only holds the error which you've posted but also what the DFDL parser did prior to throwing the error. This is key to working out how the error occured.
There should also be a lot more error than the first part you've posted here. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
kathirvelt |
Posted: Tue Jan 13, 2015 11:03 am Post subject: |
|
|
Apprentice
Joined: 02 Oct 2010 Posts: 32
|
I included trace node after the catch terminal and selected the destination as user trace. Specified the following in the pattern.
Code: |
${CURRENT_TIMESTAMP} :---------Exception Catch Begin--------------~
${CURRENT_TIMESTAMP} :${ExceptionList} ~
${CURRENT_TIMESTAMP} :${Root}~
${CURRENT_TIMESTAMP} :---------Exception Catch End----------------~
|
Following are the complete trace I get in the user trace. I have just removed the message tree from the log. I do not see the information why it is throwing an error.
Code: |
Timestamps are formatted in local time, 360 minutes before GMT.
Trace written by version 8004; formatter version 8004 (build S800-FP04 on rios_aix_4)
2015-01-13 10:28:04.107494 6427 UserTrace BIP4060I: Data ''
'' from trace node 'MFL_PAS_ACH_TMK_EFT_To_Bank.Trace'.
The trace node 'MFL_PAS_ACH_TMK_EFT_To_Bank.Trace' has output the specified trace data.
This is an information message provided by the message flow designer. The user response will be determined by the local environment.
2015-01-13 10:33:15.632339 4381 UserTrace BIP4060I: Data ''--2015-01-13 10:33:15.608184 --
( ['GENERICROOT' : 0x112964390]
(0x01000000:Name):Properties = ( ['GENERICPROPERTYPARSER' : 0x117766170]
(0x03000000:NameValue):MessageSet = '' (CHARACTER)
(0x03000000:NameValue):MessageType = '{ach:2013}:ACHFile' (CHARACTER)
(0x03000000:NameValue):MessageFormat = '' (CHARACTER)
(0x03000000:NameValue):Encoding = 273 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 819 (INTEGER)
(0x03000000:NameValue):Transactional = FALSE (BOOLEAN)
(0x03000000:NameValue):Persistence = FALSE (BOOLEAN)
(0x03000000:NameValue):CreationTime = GMTTIMESTAMP '2015-01-13 16:33:15.360053' (GMTTIMESTAMP)
(0x03000000:NameValue):ExpirationTime = -1 (INTEGER)
(0x03000000:NameValue):Priority = 0 (INTEGER)
(0x03000000:NameValue):ReplyIdentifier = X'' (BLOB)
(0x03000000:NameValue):ReplyProtocol = 'ADAPTOR' (CHARACTER)
(0x03000000:NameValue):Topic = NULL
(0x03000000:NameValue):ContentType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceToken = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourcePassword = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceIssuedBy = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedType = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedToken = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedPassword = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedIssuedBy = '' (CHARACTER)
)
(0x01000000:Name)ach:2013:PPDEntry = (
(0x01000000:Name)ach:2013:PPDEntryDetailRecord = (
(0x03000000:NameValue)ach:2013:RecordTypeCode = '6' '' from trace node 'MFL_PAS_ACH_TMK_EFT_To_Bank.Trace'.
The trace node 'MFL_PAS_ACH_TMK_EFT_To_Bank.Trace' has output the specified trace data.
This is an information message provided by the message flow designer. The user response will be determined by the local environment.
2015-01-13 10:33:15.648477 4381 UserTrace BIP4060I: Data ''2015-01-13 10:33:15.644383 :---------Exception Catch Begin--------------~
2015-01-13 10:33:15.644383 :( ['MQROOT' : 0x115e42a30]
(0x01000000:Name):RecoverableException = (
(0x03000000:NameValue):File = '/build/slot1/S800_P/src/DataFlowEngine/TemplateNodes/ImbOutputTemplateNode.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 326 (INTEGER)
(0x03000000:NameValue):Function = 'ImbOutputTemplateNode::processMessageAssemblyToFailure' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmFileOutputNode' (CHARACTER)
(0x03000000:NameValue):Name = 'MFL_PAS_ACH_TMK_EFT_To_Bank#FCMComposite_1_5' (CHARACTER)
(0x03000000:NameValue):Label = 'MFL_PAS_ACH_TMK_EFT_To_Bank.Bank_File_Output' (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 ):Insert = (
(0x03000000:NameValue):Type = 14 (INTEGER)
(0x03000000:NameValue):Text = 'MFL_PAS_ACH_TMK_EFT_To_Bank.Bank_File_Output' (CHARACTER)
)
(0x01000000:Name ):ParserException = (
(0x03000000:NameValue):File = '/build/slot1/S800_P/src/MTI/MTIforBroker/DfdlParser/ImbDFDLErrorHandler.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 314 (INTEGER)
(0x03000000:NameValue):Function = 'ImbDFDLErrorHandler::handleSerializerErrors' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmFileInputNode' (CHARACTER)
(0x03000000:NameValue):Name = 'MFL_PAS_ACH_TMK_EFT_To_Bank#FCMComposite_1_1' (CHARACTER)
(0x03000000:NameValue):Label = 'MFL_PAS_ACH_TMK_EFT_To_Bank.File Input' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 5832 (INTEGER)
(0x03000000:NameValue):Text = 'An error occurred whilst serializing with DFDL' (CHARACTER)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'CTDU4035E: ' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = '/DFDL/{ach:2013}:ACHFile/{ach:2013}:Batch[1]/{ach:2013}:PPDEntry[1]' (CHARACTER)
)
)
)
) ~
2015-01-13 10:33:15.644383 :( ['GENERICROOT' : 0x11294f410]
(0x01000000:Name):Properties = ( ['GENERICPROPERTYPARSER' : 0x116d1c6d0]
(0x03000000:NameValue):MessageSet = '' (CHARACTER)
(0x03000000:NameValue):MessageType = '{ach:2013}:ACHFile' (CHARACTER)
(0x03000000:NameValue):MessageFormat = '' (CHARACTER)
(0x03000000:NameValue):Encoding = 273 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 819 (INTEGER)
(0x03000000:NameValue):Transactional = FALSE (BOOLEAN)
(0x03000000:NameValue):Persistence = FALSE (BOOLEAN)
(0x03000000:NameValue):CreationTime = GMTTIMESTAMP '2015-01-13 16:33:15.360053' (GMTTIMESTAMP)
(0x03000000:NameValue):ExpirationTime = -1 (INTEGER)
(0x03000000:NameValue):Priority = 0 (INTEGER)
(0x03000000:NameValue):ReplyIdentifier = X'' (BLOB)
(0x03000000:NameValue):ReplyProtocol = 'ADAPTOR' (CHARACTER)
(0x03000000:NameValue):Topic = NULL
(0x03000000:NameValue):ContentType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceToken = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourcePassword = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceIssuedBy = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedType = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedToken = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedPassword = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedIssuedBy = '' (CHARACTER)
)
(0x01000000:Name)ach:2013:PPDEntry = (
(0x01000000:Name)ach:2013:PPDEntryDetailRecord = (
(0x03000000:NameValue)ach:2013:RecordTypeCode = '6' (CHARACTER)
(0x03000000:NameValue)ach:2013:TransactionCode = '27' (CHARACTER)
(0x03000000:NameValue)ach:2013:ReceivingDFIIdentification = '00005642' (CHARACTER)
(0x03000000:NameValue)ach:2013:CheckDigit = '2' (CHARACTER)
(0x03000000:NameValue)ach:2013:DFIAccountNumber = '00000000005642 ' (CHARACTER)
(0x03000000:NameValue)ach:2013:Amount = '0000016540' (CHARACTER)
(0x03000000:NameValue)ach:2013:IdentificationNumber = 'P00005642 ' (CHARACTER)
(0x03000000:NameValue)ach:2013:IndividualName = 'PERSON NAME000005642 ' (CHARACTER)
(0x03000000:NameValue)ach:2013:DiscretionaryData = ' ' (CHARACTER)
(0x03000000:NameValue)ach:2013:AddendaRecordIndicator = '0' (CHARACTER)
(0x03000000:NameValue)ach:2013:TraceNumber = '000000000000000' (CHARACTER)
)
)
(0x01000000:Name)ach:2013:PPDEntry = (
(0x0'' from trace node 'MFL_PAS_ACH_TMK_EFT_To_Bank.MFL_Common_Err_Catch.Catch_Trace'.
The trace node 'MFL_PAS_ACH_TMK_EFT_To_Bank.MFL_Common_Err_Catch.Catch_Trace' has output the specified trace data.
This is an information message provided by the message flow designer. The user response will be determined by the local environment.
Threads encountered in this trace:
4381 6427
|
I get the error when I try to write the message to file or to the queue. I even placed a trace node before the fileoutput node. In user trace and debug just seeing the same error. Should I enable the user trace at execution group level? |
|
Back to top |
|
 |
Vitor |
Posted: Tue Jan 13, 2015 11:11 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
kathirvelt wrote: |
Should I enable the user trace at execution group level? |
Yes. When we told you to use user trace, we sort of expected you to enable it!!!!!
Especially as you've demonstrated the ability to enable a service trace. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
kathirvelt |
Posted: Tue Jan 13, 2015 11:36 am Post subject: |
|
|
Apprentice
Joined: 02 Oct 2010 Posts: 32
|
Okay, I enabled the user trace at execution group level now I got more details . I'm seeing the following message but now sure what is the issue.
Code: |
An exception has been thrown to cut short the processing of the message. |
Code: |
2015-01-13 13:17:19.357094 6427 UserTrace BIP5841I: ''Offset: 285. Finished processing element 'PPDEntryDetailRecord'.''
2015-01-13 13:17:19.357108 6427 UserTrace BIP5843E: ''''
2015-01-13 13:17:19.357490 6427 UserTrace BIP3337I: The node ''Bank_File_Output'' in message flow ''MFL_PAS_ACH_TMK_EFT_To_Bank'' is deleting file ''EFT_TMK_payment_to_bank.dat'' from directory ''/appdata/EAIFTP/ACHTransaction/EFT/OUT/mqsitransit''.
The node is about to delete an existing file.
No user action is necessary.
2015-01-13 13:17:19.359120 6427 UserTrace BIP4081I: Message propagated to catch terminal from try-catch node 'MFL_PAS_ACH_TMK_EFT_To_Bank.MFL_Common_Err_Catch.Error_Handling_Try_Catch'.
The try-catch node 'MFL_PAS_ACH_TMK_EFT_To_Bank.MFL_Common_Err_Catch.Error_Handling_Try_Catch' has caught an exception which occurred in a node connected to its try terminal. The message has been augmented with an exception list and is propagating it to any nodes connected to its catch terminal for further processing. See the following messages for details of the exception list.
No user action required.
2015-01-13 13:17:19.359132 6427 RecoverableException BIP2230E: Error detected whilst processing a message in node 'MFL_PAS_ACH_TMK_EFT_To_Bank.Bank_File_Output'.
The message broker detected an error whilst processing a message in node 'MFL_PAS_ACH_TMK_EFT_To_Bank.Bank_File_Output'. An exception has been thrown to cut short the processing of the message.
See the following messages for details of the error.
2015-01-13 13:17:19.359138 6427 ParserException BIP5832E: The DFDL serializer signalled that an error occurred when processing a DFDL schema. The message from the DFDL serializer is: 'CTDU4035E: ' The element being serialized was: '/DFDL/{ach:2013}:ACHFile/{ach:2013}:Batch[1]/{ach:2013}:PPDEntry[1]'
A DFDL schema error occurred during the serializing of a DFDL message tree.
Review and resolve the problems indicated in the message from the DFDL serializer by modifying or deleting the specified element from the DFDL message tree.
2015-01-13 13:17:19.359300 6427 UserTrace BIP2540I: Node 'MFL_PAS_ACH_TMK_EFT_To_Bank.MFL_Common_Err_Catch.Catch_Trace': Finished evaluating expression ''CURRENT_TIMESTAMP'' at ('', '1.3'). The result was ''TIMESTAMP '2015-01-13 13:17:19.359169'''.
2015-01-13 13:17:19.359316 6427 UserTrace BIP2540I: Node 'MFL_PAS_ACH_TMK_EFT_To_Bank.MFL_Common_Err_Catch.Catch_Trace': Finished evaluating expression ''CURRENT_TIMESTAMP'' at ('', '2.3'). The result was ''TIMESTAMP '2015-01-13 13:17:19.359169'''.
2015-01-13 13:17:19.359332 6427 UserTrace BIP2539I: Node 'MFL_PAS_ACH_TMK_EFT_To_Bank.MFL_Common_Err_Catch.Catch_Trace': Evaluating expression ''ExceptionList'' at ('', '2.25'). This resolved to ''ExceptionList''. The result was ''ROW... Root Element Type=16777216 NameSpace='' Name='Root' Value=NULL''.
2015-01-13 13:17:19.359440 6427 UserTrace BIP2540I: Node 'MFL_PAS_ACH_TMK_EFT_To_Bank.MFL_Common_Err_Catch.Catch_Trace': Finished evaluating expression ''CURRENT_TIMESTAMP'' at ('', '3.3'). The result was ''TIMESTAMP '2015-01-13 13:17:19.359169'''.
2015-01-13 13:17:19.359454 6427 UserTrace BIP2539I: Node 'MFL_PAS_ACH_TMK_EFT_To_Bank.MFL_Common_Err_Catch.Catch_Trace': Evaluating expression ''Root'' at ('', '3.25'). This resolved to ''Root''. The result was ''ROW... Root Element Type=16777216 NameSpace='' Name='Root' Value=NULL''.
2015-01-13 13:17:19.363574 6427 UserTrace BIP2540I: Node 'MFL_PAS_ACH_TMK_EFT_To_Bank.MFL_Common_Err_Catch.Catch_Trace': Finished evaluating expression ''CURRENT_TIMESTAMP'' at ('', '4.3'). The result was ''TIMESTAMP '2015-01-13 13:17:19.359169'''.
2015-01-13 13:17:19.363612 6427 UserTrace BIP4060I: Data ''2015-01-13 13:17:19.359169 :---------Exception Catch Begin--------------~
2015-01-13 13:17:19.359169 :( ['MQROOT' : 0x115f2f3d0]
(0x01000000:Name):RecoverableException = (
(0x03000000:NameValue):File = '/build/slot1/S800_P/src/DataFlowEngine/TemplateNodes/ImbOutputTemplateNode.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 326 (INTEGER)
(0x03000000:NameValue):Function = 'ImbOutputTemplateNode::processMessageAssemblyToFailure' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmFileOutputNode' (CHARACTER)
(0x03000000:NameValue):Name = 'MFL_PAS_ACH_TMK_EFT_To_Bank#FCMComposite_1_5' (CHARACTER)
(0x03000000:NameValue):Label = 'MFL_PAS_ACH_TMK_EFT_To_Bank.Bank_File_Output' (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 ):Insert = (
(0x03000000:NameValue):Type = 14 (INTEGER)
(0x03000000:NameValue):Text = 'MFL_PAS_ACH_TMK_EFT_To_Bank.Bank_File_Output' (CHARACTER)
)
(0x01000000:Name ):ParserException = (
(0x03000000:NameValue):File = '/build/slot1/S800_P/src/MTI/MTIforBroker/DfdlParser/ImbDFDLErrorHandler.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 314 (INTEGER)
(0x03000000:NameValue):Function = 'ImbDFDLErrorHandler::handleSerializerErrors' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmFileInputNode' (CHARACTER)
(0x03000000:NameValue):Name = 'MFL_PAS_ACH_TMK_EFT_To_Bank#FCMComposite_1_1' (CHARACTER)
(0x03000000:NameValue):Label = 'MFL_PAS_ACH_TMK_EFT_To_Bank.File Input' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 5832 (INTEGER)
(0x03000000:NameValue):Text = 'An error occurred whilst serializing with DFDL' (CHARACTER)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'CTDU4035E: ' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = '/DFDL/{ach:2013}:ACHFile/{ach:2013}:Batch[1]/{ach:2013}:PPDEntry[1]' (CHARACTER)
)
)
)
) ~
|
|
|
Back to top |
|
 |
Vitor |
Posted: Tue Jan 13, 2015 11:46 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
kathirvelt wrote: |
Okay, I enabled the user trace at execution group level now I got more details . I'm seeing the following message but now sure what is the issue. |
Well looking at what you've posted....
kathirvelt wrote: |
Code: |
2015-01-13 13:17:19.357094 6427 UserTrace BIP5841I: ''Offset: 285. Finished processing element 'PPDEntryDetailRecord'.''
2015-01-13 13:17:19.357108 6427 UserTrace BIP5843E: ''''
2015-01-13 13:17:19.357490 6427 UserTrace BIP3337I: The node ''Bank_File_Output'' in message flow ''MFL_PAS_ACH_TMK_EFT_To_Bank'' is deleting file ''EFT_TMK_payment_to_bank.dat'' from directory ''/appdata/EAIFTP/ACHTransaction/EFT/OUT/mqsitransit''.
The node is about to delete an existing file.
No user action is necessary.
2015-01-13 13:17:19.359120 6427 UserTrace BIP4081I: Message propagated to catch terminal from try-catch node 'MFL_PAS_ACH_TMK_EFT_To_Bank.MFL_Common_Err_Catch.Error_Handling_Try_Catch'. |
|
This shows the flow removing the file from mqsitransit (part of the FileOutput node's recovery process) and then passing control to a catch terminal on a TryCatch node. So what you've posted here shows the result of the failure, not the cause which will be earlier in the trace. Observe the very top line:
[quote="kathirvelt"]
Code: |
2015-01-13 13:17:19.357094 6427 UserTrace BIP5841I: ''Offset: 285. Finished processing element 'PPDEntryDetailRecord'.''
2015-01-13 13:17:19.357108 6427 UserTrace BIP5843E: ''''
|
So the element serialized 'PPDEntryDetailRecord' and then went boom. What did it report prior to that? If this is,as I suspect, the top level record element are all the child elements reported correctly? Do all the data types match? And so forth, and so forth.... _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
kathirvelt |
Posted: Tue Jan 13, 2015 12:26 pm Post subject: |
|
|
Apprentice
Joined: 02 Oct 2010 Posts: 32
|
I do not see any error before the message that I have posted.
Code: |
)
(0x01000000:Name)ach:2013:PPDEntry = (
(0x01000000:Name)ach:2013:PPDEntryDetailRecord = (
(0x03000000:NameValue)ach:2013:RecordTypeCode = '6' '' from trace node 'MFL_PAS_ACH_TMK_EFT_To_Bank.Trace'.
The trace node 'MFL_PAS_ACH_TMK_EFT_To_Bank.Trace' has output the specified trace data.
This is an information message provided by the message flow designer. The user response will be determined by the local environment.
2015-01-13 13:17:19.348498 6427 UserTrace BIP4067I: Message propagated to output terminal for trace node 'MFL_PAS_ACH_TMK_EFT_To_Bank.Trace'.
The trace node 'MFL_PAS_ACH_TMK_EFT_To_Bank.Trace' has received a message and is propagating it to any nodes connected to its output terminal.
No user action required.
2015-01-13 13:17:19.350360 6427 UserTrace BIP3353I: ''File output'' node ''Bank_File_Output'' in message flow ''MFL_PAS_ACH_TMK_EFT_To_Bank'' is creating file ''/appdata/EAIFTP/ACHTransaction/EFT/OUT/mqsitransit/EFT_TMK_payment_to_bank.dat''.
The ''File output'' node is about to create a new file for writing output records.
No action is required.
2015-01-13 13:17:19.352944 6427 UserTrace BIP3354I: ''File output'' node ''Bank_File_Output'' in message flow ''MFL_PAS_ACH_TMK_EFT_To_Bank'' is adding a record to file ''/appdata/EAIFTP/ACHTransaction/EFT/OUT/mqsitransit/EFT_TMK_payment_to_bank.dat'' at offset ''0''.
The ''File output'' node is about to write a record into the file, starting from the given offset.
No action is required.
2015-01-13 13:17:19.353874 6427 UserTrace BIP5841I: ''The default value of '%LF;' was assigned to variable 'outputNewLine' in namespace 'http://www.ogf.org/dfdl/dfdl-1.0/'. ''
2015-01-13 13:17:19.353918 6427 UserTrace BIP5841I: ''Offset: 0. Starting to process the DFDL info set.''
2015-01-13 13:17:19.353976 6427 UserTrace BIP5841I: ''Offset: 0. Starting to write root element 'ACHFile'.''
2015-01-13 13:17:19.354002 6427 UserTrace BIP5841I: ''Offset: 0. Starting to process element 'ACHFile'.''
2015-01-13 13:17:19.354036 6427 UserTrace BIP5841I: ''Offset: 0. Starting to process element 'FileHeaderRecord'.''
2015-01-13 13:17:19.354098 6427 UserTrace BIP5841I: ''Offset: 0. Explicit length '94' 'bytes' set for complex element 'FileHeaderRecord'.''
2015-01-13 13:17:19.354134 6427 UserTrace BIP5841I: ''Offset: 0. Starting to process element 'RecordTypeCode'.''
2015-01-13 13:17:19.354204 6427 UserTrace BIP5841I: ''Offset: 0. Wrote text string value '1' for element 'RecordTypeCode'. ''
2015-01-13 13:17:19.354232 6427 UserTrace BIP5841I: ''Offset: 1. Finished processing element 'RecordTypeCode'.''
2015-01-13 13:17:19.354258 6427 UserTrace BIP5841I: ''Offset: 1. Starting to process element 'PriorityCode'.''
2015-01-13 13:17:19.354282 6427 UserTrace BIP5841I: ''Offset: 1. Wrote text string value '01' for element 'PriorityCode'. ''
2015-01-13 13:17:19.354302 6427 UserTrace BIP5841I: ''Offset: 3. Finished processing element 'PriorityCode'.''
2015-01-13 13:17:19.354330 6427 UserTrace BIP5841I: ''Offset: 3. Starting to process element 'ImmediateDestination'.''
2015-01-13 13:17:19.354352 6427 UserTrace BIP5841I: ''Offset: 3. Wrote text string value '1111211111' for element 'ImmediateDestination'. ''
2015-01-13 13:17:19.354372 6427 UserTrace BIP5841I: ''Offset: 13. Finished processing element 'ImmediateDestination'.''
2015-01-13 13:17:19.354392 6427 UserTrace BIP5841I: ''Offset: 13. Starting to process element 'ImmediateOrigin'.''
2015-01-13 13:17:19.354414 6427 UserTrace BIP5841I: ''Offset: 13. Wrote text string value '2222222222' for element 'ImmediateOrigin'. ''
2015-01-13 13:17:19.354434 6427 UserTrace BIP5841I: ''Offset: 23. Finished processing element 'ImmediateOrigin'.''
2015-01-13 13:17:19.354452 6427 UserTrace BIP5841I: ''Offset: 23. Starting to process element 'FileCreationDate'.''
2015-01-13 13:17:19.354476 6427 UserTrace BIP5841I: ''Offset: 23. Wrote text string value '140829' for element 'FileCreationDate'. ''
2015-01-13 13:17:19.354496 6427 UserTrace BIP5841I: ''Offset: 29. Finished processing element 'FileCreationDate'.''
2015-01-13 13:17:19.354516 6427 UserTrace BIP5841I: ''Offset: 29. Starting to process element 'FileCreationTime'.''
2015-01-13 13:17:19.354538 6427 UserTrace BIP5841I: ''Offset: 29. Wrote text string value '2145' for element 'FileCreationTime'. ''
2015-01-13 13:17:19.354558 6427 UserTrace BIP5841I: ''Offset: 33. Finished processing element 'FileCreationTime'.''
2015-01-13 13:17:19.354584 6427 UserTrace BIP5841I: ''Offset: 33. Starting to process element 'FileIdModifier'.''
2015-01-13 13:17:19.354606 6427 UserTrace BIP5841I: ''Offset: 33. Wrote text string value 'A' for element 'FileIdModifier'. ''
2015-01-13 13:17:19.354626 6427 UserTrace BIP5841I: ''Offset: 34. Finished processing element 'FileIdModifier'.''
2015-01-13 13:17:19.354644 6427 UserTrace BIP5841I: ''Offset: 34. Starting to process element 'RecordSize'.''
2015-01-13 13:17:19.354668 6427 UserTrace BIP5841I: ''Offset: 34. Wrote text string value '094' for element 'RecordSize'. ''
2015-01-13 13:17:19.354684 6427 UserTrace BIP5841I: ''Offset: 37. Finished processing element 'RecordSize'.''
2015-01-13 13:17:19.354706 6427 UserTrace BIP5841I: ''Offset: 37. Starting to process element 'BlockingFactor'.''
2015-01-13 13:17:19.354726 6427 UserTrace BIP5841I: ''Offset: 37. Wrote text string value '10' for element 'BlockingFactor'. ''
2015-01-13 13:17:19.354746 6427 UserTrace BIP5841I: ''Offset: 39. Finished processing element 'BlockingFactor'.''
2015-01-13 13:17:19.354764 6427 UserTrace BIP5841I: ''Offset: 39. Starting to process element 'FormatCode'.''
|
To keep this simple I only have following code in my compute node. I have enabled validation in fileinput node against the DFDL schema. File is parsed without any error. When I just update one element getting the error when writing it to the file. The element that I'm updating is alpha type with 10 byte long.
Code: |
CALL CopyMessageHeaders();
CALL CopyEntireMessage();
DECLARE tgtNs_ref NAMESPACE 'ach:2013';
SET OutputRoot.DFDL.tgtNs_ref:ACHFile[1].tgtNs_ref:FileHeaderRecord[1].tgtNs_ref:ImmediateDestination = '1111211111';
|
|
|
Back to top |
|
 |
Vitor |
Posted: Tue Jan 13, 2015 12:47 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
kathirvelt wrote: |
I do not see any error before the message that I have posted. |
I didn't say you would. I asked what the DFDL parser reported in the user trace when it was serializing the message.
If you're looking for a message that says "element <x> is what's wrong" then you're going to be disapointed; the error about serialization failure is all you're going to get. You need to use the user trace, Trace nodes and other information to diagnose what's wrong and what it is about the resulting message tree that can't be serialized. Thought, investigation and a certain amount of experimentation will be required. For instance:
kathirvelt wrote: |
I have enabled validation in fileinput node against the DFDL schema. File is parsed without any error. |
If you turn validation off, do you get an output file without errors and looking like you think it should? If so, there's a problem with the DFDL model that describes the output and a good next step will be to take the output file so produced (which you think looks right) and be the Toolkit to serialize it via the DFDL perspective. The trace produced from that should indicate in much greater detail what's going on. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
kathirvelt |
Posted: Tue Jan 13, 2015 1:39 pm Post subject: |
|
|
Apprentice
Joined: 02 Oct 2010 Posts: 32
|
Thanks Vitor & Kimber, I was able to resolve the issue. As per the DFDL schema it was expecting the addendum record. I made the modification to the schema and removed those choices from the schema. I was able to parse and write the file to output node.
But this is little hard to identify the issue without experiment, the error log does not point you to the exact error. |
|
Back to top |
|
 |
kimbert |
Posted: Tue Jan 13, 2015 1:40 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
File is parsed without any error. When I just update one element getting the error when writing it to the file. |
That is easy to explain. IF you do not modify the message tree THEN the DFDL serializer will not be needed because the message has not changed. The flow will just send the input bitstream out of the output node.
If the DFDL parser could not serialize the message then I would expect it to report a clearly-worded error. And that error would definitely be in the user trace. So I think this may be a defect in the DFDL parser.
I notice that you are on WMB v8. Which fix pack level are you on? _________________ Before you criticize someone, walk a mile in their shoes. That way you're a mile away, and you have their shoes too. |
|
Back to top |
|
 |
kathirvelt |
Posted: Tue Jan 13, 2015 1:44 pm Post subject: |
|
|
Apprentice
Joined: 02 Oct 2010 Posts: 32
|
|
Back to top |
|
 |
|