Skip to Content
Author's profile photo Sudheer Anugu

Synchronous message to both asynchronous and synchronous receivers without NW BPM


I have designed a requirement to send synchronous soap message to both asynchronous and synchronous receivers without NW BPM, with NW BPM it’s a very easy using automated activity task but the requirement is not to use BPM

Note: There are many documents with reference to Request/Response beans and correlation id, the intention is to shown the development specific to scenario and to save the POC/development time
In standard way, we get error as “synchronous messages cannot be split” and interface response error, so we will be using Request/Response beans, wait/notify beans, dynamic configuration beans

Process Flow: –

  1. Sender sends a soap message and expects to receive a response back
  2. PI receives the synchronous message and converts the synchronous message to asynchronous message using request/response beans
  3. Asynchronous message is sent to both receivers asynchronous and synchronous
  4. Asynchronous receiver when receives the message will transform the message to target message by executing OM and create the file using file adapter
  5. Synchronous receiver receives the Asynchronous message, here we need to convert the Asynchronous message to synchronous after executing OM using Request/Response module and fetch the response from RFC
  6. Received RFC response will be forward to replaced interface used in module parameter of receiver RFC channel
  7. Create ICO where sender interface name will be the same name used in module parameters of RFC receiver channel “replace interface” and ICO receiver as virtual receiver and receiver channel has ONLY module as notify response


Development steps: –

ESR – Objects > 3 operation mappings

> 1st operation mapping (Soap to RFC ) will just have request mapping and response mapping will be empty and this OM will be used in first ICO

> 2nd operation mapping (Soap to Async Receiver Interface) will be used in first ICO

> 3rd operation mapping (RFC to Soap) will be used for response mapping and this OM will be used in second ICO



OM 1: – Soap > RFC (Request OM)


OM 1: – Soap > RFC (Response OM) should be empty as we will be using another OM for response


OM 2: – Soap > Async (File)

(Note: – remove SWCV as shown below)


OM 3: – RFC > Soap (Actual Response OM)

Note: – Create a Service interface and add RFC response message to it and this service interface will be used in RFC receiver channel module


ID – Objects:-

Note: business system name and SWCV name is hidden and removed to avoid the display of company name but for your development please use SWCV in all places

The reason for using Dynamic configuration beans is because when splitting messages using multiple receiver’s child message id’s are generated and this child message id’s are passed back in response XI header and notify response beans cannot create a message as it requires the parent message id to notify the response so we use dynamic configuration to read message id in request and write in response XI header’s









RFC Receiver Channel Modules
Note :- Interface name listed in below module is important as its used in second ICO as interface name


Second ICO: –


I am using using SOAP as sender channel and you can use soap as sender channel for any requirement

Use the same service interface name used in RFC Receiver channel parameter name “Interface” and create this ICO receiver as virtual receiver





I am using using SOAP as receiver channel and you can use any channel to notify response


Make sure ONLY notify response bean is mentioned in module list


Monitor Logs: –

You will find 3 message logs for every transaction


1) soap > RFC

2) Soap > Async Receiver

3) RFC > Soap



File creation logs


Soap > RFC logs


Dynamic configurations logs


RFC > Soap and Notify Response Logs

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Hi Sudhir,

      I have similar requirement as you have mentioned in the blog but I cannot replicate the steps which you have mentioned.


      How are you able to map the synchronous message to asynchronous message?(SOAP to Async)

      Author's profile photo Sudheer Reddy
      Sudheer Reddy
      Blog Post Author

      Sorry for the delayed response

      As shown in blog sync map is divided into 2 maps

      • First map - Source request and target request and response section keep it as empty
      • Second map - Source response to Target Response

      do a POC as shown in blog and you will find the solution