Support Article
MTOM feature is not working in pega 7.1.6
SA-11970
Summary
User has a service with MTOM feature enabled to attach larger files in the request. We consumed that service in pega 7.1.6 and tried to attach file in the request part but failed to send the correct file to target system.
Error Messages
We are not able to see the correct file in the target system
Steps to Reproduce
1. Consumed service which has MTOM feature enabled.
2. Attachment added using pyAttachmentPage.
3. Called Connect-Soap rule.
4. Got successful response from the target.
5. But failed to see the uploaded attachment in the target system.
Root Cause
The root cause of this problem is defect/misconfiguration in the operating environment.
To make use MTOM feature we should implement the following changes.
1) SOAP 1.1 encoding flag is not enabled for a few required Stream XML rules.
2) pyRequestAttachmentPage standard clipboard page is populated along with mapping the same contents to a node in Stream XML rule. pyRequestAttachmentPage shouldn't present in such case
Resolution
This issue is resolved through the following local change:
1) Enabled SOAP 1.1 encoding flag for the required Stream XML rules.
2) Removed the pyRequestAttachmentPage standard clipboard page as the same contents were maaped to a node in Stream XML rule, which is sufficient to optimize the binary data using Connect-SOAP MTOM feature.
3)Customise the XML stream rule (override auto generated xml) so that only the Document element xsd:base64Binary includes the encoding so that it is picked up as part of MTOM processing.
4)Get the attachment content from pyFileSource instead of getting it from pyRequestAttachment page.
Published July 17, 2015 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.