Skip to Content

Walkthrough – SOAP XI RFC/BAPI

This weblog intends to help the reader with a complete end to end design approach for a SOAP to RFC/BAPI scenario using XI as a broker. With the increasing questions in the forum on how to approach such a scenario, this weblog should cater to the needs.


Knowledge of configuring the SOAP Sender  ( adapter and the RFC Receiver  ( adapter0.1.

Basic knowledge of what a WSDL  ( is and how a Webservice  ( and SOAP message works

Now there can be two ways the whole design can work. One way is to consider that an exisiting WSDL has been provided to the developer and he is been asked to use the same OR a message interface is exposed as a webservice and the scenario is developed. In either way, note that in case the WSDL is not that which has been already developed within XI, a WSDL will need to be generated from Integration Directory.

For a WS/WSDL already exisiting in XI refer this blog  () .

Steps in Integration Repository (Scenario: External WSDL has been provided)

1) Import the RFC to be used under imported objects in your Software components

2) Create a new *External Definition *using the WSDL.

Sample screenshot of a ED, created from an existing WSDL:


3) Create a Message Interface (Sync/Outbound) – Provide the input and output message from the messages of External definition created for the WSDL.

Sample screenshot:


4) Create 2 Message mappings

0.1. 1st  Mapping – WS/SOAP Request -> RFC.Request

0.2. 2nd Mapping – RFC.Response -> WS/SOAP Response

Note: WS/SOAP Request & WS/SOAP Response will be the messages from the external definition.

5) Create a Message Interface. Source Interface will be the SYNC/OUTBOUND MI created in step 3 and target interface will be the RFC itself.

Steps in Integration Directory:

1) Create a SOAP Sender CC and RFC Receiver CC.

2) Create a Receiver Determination and corresponding Interface Determination.

3) Create a Sender and Receiver Agreement.

4) Goto Menu -> Tools ->

Define a Webservice – Refer this link  (

Make sure the URL is in the form of

http://<serverhost>:<port>/XISOAPAdapter/MessageServlet?channel=<party>:<ServiceName>:<Channel Name>

Sample Screenshot:


You must be Logged on to comment or reply to a post.
  • HI Shabrish,

    This blog gives some idea on usign WSNavigator and RFC as WS.Thanks for that.
    But can you specify how we are testing the functionality of WS <-> RFC using PI. I see that wsnavigator helps us to test the WS functionality and not the process we develop between WS and our RFC(if we are using RFC at the other end). But if you are trying to explain methods to expose RFC as a WS then I think this doesn’t become SOAP <-> XI<-> RFC scenario at all.

  • I was trying to follow this nice blog but the images are not visible in my internet explorer page. I am the only one to find this error.