Overview
For some integrations proxy data can get very large and it causes problems like connection timeouts, incomplete messages. In this blog, I will explain steps to solve this particular issue. Same rules apply to HTTP, SOAP, REST and other HTTP based sender adapters.
Let's follow the steps with an example scenario: A message is sent to the SAP PO system with a proxy object from the SAP S4 HANA system using XI protocol. XML passing through the SAP PO machine will be compressed and dropped to SFTP server.
Message Flow
The 350 mb file sent to the SAP PO machine will be compressed and sent to the SFTP server.
Things to do
Enable large message handling in NWA
To configure Large Message Handling go to
http://<host>:<port>/nwa and open the Java System Properties using NWA --> Configuration --> Infrastructure --> Java System Properties. Go to the Services tab page and search for the service name XPI Service: Messaging System.
messaging.largemessage.enabled: This parameter needs to be converted from false to
true.
messaging.largemessage.queueTypes - Defines the types of queues for which large message handling is activated. I will configure "
Send,Recv".
Following the changes we made in the system regarding *largemessage*, the parameters should be as follows.
Modify ICM max request value
The parameter
icm/HTTP/max_request_size_KB through the SAP Management Console and you can set the maximum request size for protocol. Default value is 102400 KB.
I will configure 350 MB = 358400 KB. We find it in ICM parameters and adjust the value to the size you want. We choose and apply your Persist changes in the profile option. Then we save the SAP management console and restart the SAP PO machine.
After completing the configuration, it is necessary to restart the java application server!
Compression module in SFTP channel
We create the name of the compressed file in filename, and give the name of the xml file in its content via the module.
First of all, we give the filename extension as *.zip.
We come to the Module tab and add the following modules.
Process Sequence;
AF_Modules/MessageTransformBean |
Local Enterprise Bean |
contentType |
AF_Modules/PayloadZipBean |
Local Enterprise Bean |
zip |
Module Configuration;
contentType |
Transform.ContentType |
text/plain; name="BigRequest.xml" |
zip |
zip.filenameKey |
contentType |
zip |
zip.mode |
zipOne |
Finally all the properties will look like this;
Summary
In conclusion, PO system will hande handle big messages and will be more stable with this configuration. For file-to-file scenarios you can have a look at "Chunk Mode".
Thanks for reading!