Skip to Content
Technical Articles
Author's profile photo Hasan Fatih Eksioglu

SAP Process Orchestration 7.5 – Large Message Handling

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!

Assigned Tags

      6 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Sedat Göç
      Sedat Göç

      Hi Hasan,

      This blog is perfect for how to process large messages. Thank you for sharing.

      Sedat

      Author's profile photo Hasan Basri CELEBI
      Hasan Basri CELEBI

      Hi Fatih;

      Thanks for your sharing.

      Hasan

      Author's profile photo Denis Dmitriyev
      Denis Dmitriyev

      Hi Hasan,

      I have a couple of questions:

      • The queue types concept you mentioned Send,Recv  - how does that translate during run time?  Will messages have some dynamically defined queues with Send or Recv as a prefix? I assume the purpose of this is to make sure other messages do not slow down during large message processing.
      • Zip.filenameKey = contentType.  What does this do?

      I think it would be good reference OSS Note: https://launchpad.support.sap.com/#/notes/1727870 around the global config steps for large messages.

      Author's profile photo Hasan Fatih Eksioglu
      Hasan Fatih Eksioglu
      Blog Post Author

      Yes, our purpose here is to ensure that we can receive large messages in both sending and receiving processes.

      The zip and content module is the module configuration we apply to compress the related data and determine the content name. (https://help.sap.com/doc/saphelp_nw73ehp1/7.31.19/en-US/45/da9358a1772e97e10000000a155369/content.htm?no_cache=true)

      I'm a bit late in blogging, this sapnote "1727870" was published after the solution we found with the SAP team in our XXX project.

      I'm sorry for the late reply.

      Regards,
      Hasan.

      Author's profile photo Vaishali Rani
      Vaishali Rani

      Hi,

      Do you know how to handle this specifically with REST adapter. I face this problem mainly with REST adapter. ANd the file size is only upto 50MB.

      Thanks!

      Regards,

      Vaishali

      Author's profile photo Hasan Fatih Eksioglu
      Hasan Fatih Eksioglu
      Blog Post Author

      Hi Vaishali, the process we have done here is not adapter-based, it is made to allow up to XXX sizes directly on the SAP PO product, you probably won't have any problems when you follow the procedures on the blog.

      Regards,

      Hasan.