cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Bundle custom webservice messages

MichaelO1
Newcomer
225

Dear all,

we have created a synchronous custom soa enterprise webservice as a consumer proxy in our SAP S/4HANA system. Using an ABAP Programme/Report we are mass selecting Business Partners and are sending them via an AIF interface and the custom soa enterprise webservice to a legacy sanctioned party list check application/system. We do not have any SAP PI middleware available between SAP S/4 and the legacy sanctioned party list check application/system. The legacy sanctioned party list check application/system checks the Business Partners and is returning a synchronous check result message to S/4. In S/4 the ABAP Programme/Report is processing the returned check result and is taking certain action on the Business Partner data depending on the check results. The message log is displayed in the ABAP Programme/Report. Also the AIF error monitor "/n/aif/err" can be used to monitor all send and received messages. 

Currently we are facing the issue that when the ABAP Programme/Report is mass run always a very small number of BPs can not be processed over the webservice. The error message displayed in the AIF error monitor is "SOAP:1023 SRT: Processing error in Internet Commun ication Framework: ("Direct connect to ws-gateway- cert.b2x.vwg:443 failed: N)".

We currently believe this error is happening because we are sending all Business Partner messages one by one over the webservice interface and at some point the legacy sanctioned party list check application/system can not handle the load anymore.

As a solution we currently would like to bundle/package the Business Partner messages to impose less load on the target legacy sanctioned party list check application/system.

What is the best way to implement a message bundling/message packaging in our situation?

1. According to this SAP Community post "Solved: Sender Proxy to send multiple messages - SAP Community" we could bundle in our ABAP programme before the messages are passed to AIF and the webservice is called? Is this correct?

"This scenario can be handled at abap end.

Decide the number of records you want to send in one file. In abap when the number of records reached then call the abap proxy method. For the remaining records again call the abap proxy method so while going to XI it will pass only the number of records desired by you."

2. This article (Runtime Configuration Options in SAP AIF – INT4) is suggesting that the bundling/message packaging can be done in the SAP AIF runtime configuration? Is this correct?

3. Performing some more research we currently believe that we have to do the bundling on the custom consumer webservice side and not in AIF as the second alternative above is describing. Can anyone confirm that bundling on the webservice side can be achieved via the following steps on a high-level?

- Make sure that the custom webservice can handle multiple lines items/multiple operations/bundled requests from a data types/message types aggregated structure perspective

- Enhance the proxy to accept and process multiple messages in a single request, e.g. by:

o Enhance the method responsible for processing the request

o Insert custom logic to handle bundling

o Modify the request/response Logic

o Parse the input request

o Modify the proxy logic to handle multiple operations bundled in a single request

o Loop through each operation in the request and process them individually

o Aggregate the Response

o Combine individual responses into a single consolidated response structure

o Add error handling (e.g. examine if LUWs (Logical Units of Work) can be used to handle transactions. If any operation fails, rollback the entire process if necessary).

4. A possible solution approach still involving packaging in AIF could be to send multiple messages to AIF at once (packages) from the sanctioned party list mass check programme/report using an AIF runtime configuration group. Using a corresponding runtime configuration option in AIF, AIF would then process the packages. It has to be examined if the processed package could then automatically be passed on to the Webservice when the Webservice is called from AIF. If there is any custom coding implemented to call the Webservice from AIF, it has to be examined if this coding can pass the package from AIF to the Webservice. However, even with this approach we are currently not sure if we would still need to enhance the custom webservice to support message bundling as described in alternative 3. If yes, this alternative 4 would possible not add any particular value since the bundling bottleneck/need for bundling is rather on the webservice side and not in AIF itself. Can anyone confirm this?

Thanks in advance.

Regards,

Selho

Accepted Solutions (0)

Answers (0)