cancel
Showing results for 
Search instead for 
Did you mean: 

Reg : "Error multiple Receivers are not allowed for Synchronous calls"

Former Member
0 Kudos

Hi All,

Can somebody tell me why I am getting this error "Error multiple Receivers are not allowed for Synchronous calls" when I am using Synchronous Soap Request to WebService and the response from webservice is being sent to multiple receivers which are Business services based on Receiver determination condition(Services W/o Party).

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Thank you very much for your responses.

Former Member
0 Kudos

My Scenario is like this :

I am sending a SOAP request to XI. XI will transform the synchronous message to a synchronous RFC (Remote Function Call) which is Z_BAPI....... SAP R/3 back-end system will receive this Function call and will run the custom made function. The function will do a order item look up and sends back a response to SAP XI. This Response will be transformed and routed to different receivers (overall 10 receivers) based on content.

The condition I am specifying in Receiver Determination. Here I am getting the error "Multiple Receivers are not allowed for Synchronous calls".

To solve this problem, do I need to use Sync-Asyn bridge in BPM or is there any other way.

Regards,

Gopal

bhavesh_kantilal
Active Contributor
0 Kudos

You will have to use a BPM for this.

And the Response of the RFC call will have to be stored in a container variable in the BPM and then the call to the corresponding receivers would be made. The sender interface in this receiver determination will have to be Asynch, and in your case you have made it synch and that is the issue

Regards

Bhavesh

former_member190389
Active Contributor
0 Kudos

Hi , If you are simply looking up data (and not updating tables ) using RFC you can use RFC Lookup APIs to create a java mapping

The source message has to be a RFC request message interface and target should be RFC response message interface.

Also you can use three step mappings in a single interface mapping.

1. from your request message to RFC request message mapping

2. java mapping which will do the lookup and give you rfc response back

3.rfc response to your target response mapping.

PS: RFC lookup can be used if there are not may hierarchy in the RFC Response structure. (i.e. may be 3 or 4 level nesting permitted)

To help you further

The following is a link which gives you access to a ready made source code. you just need to compile it and create a jar and import the mapping in imported archive

http://knowhowsapxi.synthasite.com/rfc-loolup.php

Edited by: Progirl Progirl on Oct 31, 2008 1:33 PM

bhavesh_kantilal
Active Contributor
0 Kudos

Can you let us know what the end to end interface flow is?

From this error the message is obvous, you are making a synch call from XI where Xi is acting as the initiator of the synch call / Client and you have provided multiple receivers to accept this call.

Synchronous Calls can be made only to 1 receiver as if you make it to multiple receivers, how would the response correlation happen?

Regards

Bhavesh