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 (http://help.sap.com/saphelp_nw04/helpdata/en/fc/5ad93f130f9215e10000000a155106/content.htm) adapter and the RFC Receiver (http://help.sap.com/saphelp_nw04/helpdata/en/67/6d0540ba5ee569e10000000a155106/content.htm) adapter0.1.
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.
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 (http://help.sap.com/saphelp_nw04/helpdata/en/31/daa0404dd52b54e10000000a1550b0/content.htm)
Make sure the URL is in the form of