Create Custom Outbound Proxy in ECC through RFC
If you have a requirement to create custom outbound proxy from ECC through RFC for sending data to non-sap / sap system, then you can follow below steps:
1. Create RFC Function Module with Importing Parameters – Following points needs to be taken care while
creating RFC FM
a. In attributes, select “Remote-Enabled Module”
b. Make sure name of function module does not consist of “_” or any other special characters because
while creating wsdl, “_” are removed automatically and then name of service definition and operation
becomes different, which creates problem later on
b. We are using RFC FM to generate the structure automatically that is required for proxy. So if you
have huge number of fields to be added to proxy structure with different heads, then those fields can
be added in custom structures(one structure per head).
d. These structures can be added as importing parameters. Make sure you do not add exporting or
any other type of parameters, otherwise while generating proxy, it will consider as Inbound
Synchronous proxy
2. After activating RFC FM, Goto -> More Utilities -> Create Web Service -> From the Function Module
3. Following screen will appear to create service definition – Make sure you enter to same name as RFC
name and press continue
4. Following screen will appear – Checked Map Name with FM and press continue
5. Following screen will appear to select profile – Select PRF_DT_IF_SEC_LOW or based on your
requirement and press continue
6. Select Package and TR, Press Continue
7. Click on Complete, to get below screen of Service Definition
Traverse to External View – You will see all heads are displayed under Input Tag which were mentioned as
input parameters in FM (Don’t worry about Input tag. It should be Output tag ideally, but it comes as Input tag)
Go to Configuration tab to check Operation Profile – It should be Asynchronous Reliable. It would have come
as synchronous if output parameters were added to the FM.
Go to WSDL Tab and copy the URL
8. Now we will consume the proxy in ECC. Goto transaction SPROXY -> Click on create button ->
Select Service Consumer -> Press Continue
9. Select External WSDL/Schema option
10. Select URL option and paste the URL copied in Step 7
11. Provide credentials, Package, TR details, and prefix. This will create service consumer and generate
required proxy structure
Now we will have to add the logical port to consumer proxy we just generated so that it can point to correct system
12. Go to transaction SOAMANAGER, browser will open up, click on Web Service Configuration
13. Search for consumer proxy and select the consumer proxy created
14. Create the Logical Port as per your requirement. In this case I have used Manual Configuration option.
Check the ping test and it should be successful
Now all configuration is done to create custom outbound proxy. In order to test if proxy will run without errors,
please open Service consumer in ECC and execute it. Please provide Logical port created in step 14.
On executing, you will get Request tab. Again Execute and it should give successful message
In order to test with real data and to check if it has been sent data to third party, create custom program
as below and execute it
Go to SRT_MONI and you should get an entry of the triggered proxy with the data as below. Even though
status of the proxy is in error, it has been triggered successfully from ECC end, there might be problem at
receiving end.
This is all I wanted to share. Please let me know if there are any concerns / issues while implementing using this approach.
Thank you !!!
Not true. I've been doing this for years, and have plenty with _ in the name.