2009 Mar 09 11:49 PM
Here is the scenario: Our delivery creation triggers a custom output type, which triggers a call to a function module that does an HTTP_POST of an XML out to some URL on the web and gets an XML string back to update some custom tables.
Works great in all test systems and even in production, except when the execution of the update task happens to fall on the DB server, then the HTTP call times out, because the DB server is not set up to allow calls out to the internet.
So I had the idea to create a RFC desination that bundles all application servers into a single destination, so that the function making the HTTP call will always make the call from an application server and never from the database server.
Unfortunately as the remote function call to this new destination does not seem to do anything. As soon as the same function is called without specifying the 'destination'-syntax, everything works fine (except as mentioned when the update task executes on the DB server).
What could be the problem with this remote call?
Here is the scenario: Our delivery creation triggers a custom output type, which triggers a call to a function module that does an HTTP_POST of an XML out to some URL on the web and gets an XML string back to update some custom tables.
Works great in all test systems and even in production, except when the execution of the update task happens to fall on the DB server, then the HTTP call times out, because the DB server is not set up to allow calls out to the internet.
So I had the idea to create a RFC desination that bundles all application servers into a single destination, so that the function making the HTTP call will always make the call from an application server and never from the database server.
Unfortunately as the remote function call to this new destination does not seem to do anything. As soon as the same function is called without specifying the 'destination'-syntax, everything works fine (except as mentioned when the update task executes on the DB server).
What could be the problem with this remote call?
2009 Mar 09 11:59 PM
Hi Peter,
have you checked if the fm can be called remotely? Not every FM can be object of a RFC...
And also: if you call a FM without the DESTINATION parameter, it means you're calling a local FM... Otherwise, if you call the fm with the DESTINATION option, you're going to execute a function that's not on the system you're working on. Are you sure the FM exists on the logical sys you specify in the destination option? And also, check about user's permission when going on a RFC call... Maybe the user you are logged with hasn't permissions to execute a RFC on the DESTINATION logsys.
2009 Mar 10 12:37 AM
Yes, RFC is enabled and I can even call the function exactly the same way on the same destination from a regular program - just not from the update task.
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |