We have to process large EDI files (~600Meg the size for the largest file). The current process lets TN detect the sender and receiver; document type and finally the processing rule forwards the data to a service that does all the processing. When file is passed into TN it is treated as a flat file (it was a design decision not to use EDI features.) So the processing service does the envelope check, generates FA and then finally does mapping of EDI data to internal format. The TN and EDI have been configured for large file handling. The issue we are facing is that when we send in a file above the large doc threshold (tn.BigDocThreshold=9999 and EDIBigDocThreshold=9999), so the EDI document size is say 1 Meg., the generateFA service creates FA in error (if we increase the thresholds above 1 Meg, FA for the same file has no problems). Since the complete FA is kept in the memory, with even larger files we start getting OutOfMemory error from this service. Or at least that is what we think is happening. We have following patches applied WmEDI_6-1_Fix26, IS_6-1_Fix46 and WmEDIForTN_6-1_Fix27 applied to our IS.
Following flow steps can simulate our flow service:
pub.file:getFile
Map ffdata to edidata (validate=true, complianceCheck=true)
wm.b2b.edi:envelopProcess
wm.b2b.edi.util:generateFA (ICValues=Values from envelopeProcess service, FALevel=element,generateControlNumber=FromControlumberTable,syntaxErrorStatus=Rejected, logicalErrorStatus=Rejected,childTransactionRejectedStatus=Partially Accepted, standartVC=X12)
Any help will be really appreciated.
Thank you.