Skip to Content

Invoke Webservices using SAPXI

Many a times integrating existing applications with web services is really challenging. SAP-XI’s SOAP adapter makes the calls to web services simpler. This weblog guides you through the steps required to invoke a web service using the SAP-XI receiver SOAP adapter.. At the end, quick steps have been provided to develop and deploy a simple calculator web service.


web service client invokes a web service using SAP-XI’s  SOAP Adapter. The web service used here is a simple calculator application, that computes the sum of two numbers.


Fig.1 SOAP-XI-SOAP scenario


A simple Calculator web service or any other webservice should have been deployed which can be invoked. Steps to develop and deploy a simple calculator web service have provided at the end of the weblog.

Sequence of Steps


Fig.3 Download the WSDL File

    1. Download WSDL and save it as Save the Config1_CalculatorWebServiceVi_document.WSDL separately from porttypes folder as it is used for creating message mappings/interface in Integration Repository. The main.wsdl contains the URL that will be used in the receiver SOAP adapter configuration.


Fig.4 Downloaded WSDL Files of web service

In Design Time

  • Import the WSDL file (which is under porttypes folder) as external definitions. The request and the response messages are seen in the messages tab.


Fig.5 Importing WSDL into IB

    1. Create an Inbound synchronous Message Interface (CalculatorWS_IN_MI)using the message types in external definition.

Define the other necessary data types.(Calc_input_DT has 2 parameters>arg1 and arg2. and Calc_out_DT has 1 param> result). Define the corresponsing Message types.

    1. Create an Outbound synchronous Message Interface (Calc_OUT_MI) using the message types defined in Integration Directory.
    2. Define necessary Message mappings and Interface mappings. (2 Message mappings and 1 Interface mapping should be developed)


Fig.6 Interface Mapping

In Configuration Time


Fig.8 Receiver SOAP Channel Configuration

    1. Create all the required Configuration Objects (Sender Agreement, Receiver Determination, Interface Determination and mapping, Receiver Agreement.


The Integration Scenario’s developed in XI are web service ready. So a web service Client Tool(Altova XMLSPY) is used to test the scenario. Refer to Testing XI exposed Web-Services for further details on .

  1. Use the web service wizard to generate a WSDL file for the Integration Scenario. This WSDL file is used by the web service client to send a request to XI.



Fig.10 Create new Request using XMLSPY

Developing and Deploying a simple Webservice

Some Quick steps to develop, deploy a webservice.

  1. Create a Java Project, a package structure and a java file(
  2. Include the code given.
  3. Code snippet of java file that is deployed as web service

  4. Switch to web services perspective.
  5. Right click on java file to create a new web service.( A Virtual interface, web services definition, webservice are generated in the process)
  6. !|height=319|alt=image|width=512|src=|border=0!

    Fig.12 Create a web service

  7. Go the Project and build an .ear file

Go to window>preferences> J2EE engine and specify the WebAs system on which the webs ervice should be deployed.(XI server can also be choosen for deployment.)


You should now be able to invoke a web service using SAP-XI SOAP adapter.

You must be Logged on to comment or reply to a post.
  • Hi,
    The host you mentioned, is it XI server? or SAP R/3 server?. How to import WSDL for a particular RFC wsdl from R/3 system into the WSDL Navigator?.

    Please provide me some clues on it.


  • Siva,

    Can you please describe in detail what to do in steps 2,3,4 in Design Time. You supposing knowledge about XI message types, but I am doing this for the very first time....