cancel
Showing results for 
Search instead for 
Did you mean: 

RFC to Webservice

Former Member
0 Kudos

We are sending Vendor Information from an RFC to a Webservice using XI. And Webservice will return few Authentication information for the vendor number we have sent.

Now we are confused ,whether should we need to go for an Synchronous RFC. Because we are not sure how long it will take to Webservice to return the value, so until we get the response back, the RFC function module will be awaiting the response and it will be holding the memory.

But on the other hand, if we have two RFC's one will send the request and the response will be return to the other RFC (both are Asynchronous).

What approach will be the best one?

Thanks.

Accepted Solutions (0)

Answers (1)

Answers (1)

MichalKrawczyk
Active Contributor
0 Kudos

Hi Karen,

1. sync calls must be short but...

2. if you're using web services then

if'ts not that easy to do async scenario:

- if you send the data to a web service in an sync way

then you get an immediate response

- on the other hand if you send the data in an asyn way

then the web service doesn't know where to send the data back (and something has to trigger it)

I believe the only way to get the response would be to

query the web service again (in a few minutes)

to get the data - otherwise WS doesn't know whdre to send the data

Hope this clarifies a little bit:)

Regards,

michal

Former Member
0 Kudos

hi karen...

well, now that michal has given u hints, absolutely no need for me mention anything...

but yes, for webservices u need to have synchronous calls.

triggering again to get a response wud only make the scenario more complex....

regards..

vishal

Former Member
0 Kudos

Thanks Michal. On the receiver side we are using HTTP (Just now we got the update).

If we use HTTp on the Receiver side still the same problem exists with the ASYNC sender? If we use Async Sender, whether it is not possible to use a BPM to correlate the response and send it back to a different RFC?

Former Member
0 Kudos

hi michal / karen...

isnt HTTP supposed to be a synchronous call..???

Former Member
0 Kudos

Vishal, Yes HTTP is an Synchronous call on the Receiver side.

But on the sender side the RFC that we are using right now may be Synchronous and if so then our job easier, but on the other hand if we use Asynchronous, then the response that we are getting from the HTTP will be redirected to another RFC. But not sure how much effort we need to accomplish this.

MichalKrawczyk
Active Contributor
0 Kudos

Hi Karen,

it depends:)

if this is an custom application which uses just http to communicate maybe it can also post http calls to XI

(a standard http call)

then you'd be able to use asyn call easily

you need to find out

Regards,

michal

MichalKrawczyk
Active Contributor
0 Kudos

Hi Vishal,

>>>triggering again to get a response wud only make the scenario more complex....

it sometimes is the only way:)

Regards,

michal

MichalKrawczyk
Active Contributor
0 Kudos

Hi Karen,

>>>But not sure how much effort we need to accomplish this.

not a lot more:

- you can use the logic of the first RFC (sync one) if you have it already - just the receive side of course

- you have to develop 2 mappings in both scenarios

(async or sync)

- one more communication channel in case of asyn senarios is not a lot to configure:)

try the asyn call if possible - sync calls are always much more vulnerable to errors - timeouts, memory etc..

Regards,

michal