We have a partner who is sending in XML via AS2. We have set up a processing rule that calls a handler to base64 encode the payload and envelope it before publishing to oour EAI IS instance. Everything works fine until we get a document larger than 2MB. It appears that the EDIINT default rule ends up generating multiple TN docs of the payload and generating a recursion error. I have attached 3 screenshots of how things look.
First, a successful transaction. You will see 1. EDIINT 2. EDIINT MDN 3. Lean Web Settle 4. AS2 envelope.
Second, the same transaction with a payload > 2MB.You will see 1. EDIINT 2. EDIINT MDN 3. Lean Web Settle(DONE) 4. Lean Web Settle(DONE) 5. Lean Web Settle(ABORTED). 3 & 4 status is DONE but it never generates the AS2 Envelope.
Third the handler code.
In the log we see: java.lang.IllegalStateException: Processing recursion exceeded the allowed recursion depth of 1. The processing rule Process Inbound Lean XML invoked itself, most recently with document 56a1qi008mcsvmsl0000016k. Processing fails.
It only behaves this way with large documents.