In this article we will discuss the usage of SAP XI SOAP Adapter. The SOAP adapter enables communication with XI via web services. We will understand the configuration of SOAP sender and SOAP receiver adapter.
SOAP Sender Adapter Configuration
You can create web services within XI and consume them in external applications (say a Web Dynpro Application). In this case, you will need to configure sender SOAP adapter. In my previous articles, I have described how to create Web Services in XI and to consume the generated web services using Web Dynpro.
SOAP Sender Adapter converts incoming SOAP messages into XML. In order to trigger SOAP Adapter, the sending application must send the message to the address in the following format:
http://<hostname>:<port>/ XISOAPAdapter/MessageServlet? channel=
<party>:<service>:<channel>
Do not miss the colons even if the party is not involved. See this article for a detailed idea.
The figure on the right shows a typical configuration of SOAP sender adapter. Specify Transport protocol as HTTP and message protocol as SOAP 1.1. Specify the Security Level as required. Choose the conversion parameters if necessary. In Default XI Parameters provide the name and the namespace of outbound interface. Choose the quality of service. All the three QoS (namely BE, EO and EOIO) are supported.
SOAP Receiver Adapter Configuration
Let’s say you have some web service created on SAP ERP system. We will consume this web service in XI using SOAP Receiver Adapter. And then send a SOAP message to XI using SOAP Sender Adapter to test the scenario.
I assume that you have the URL of a web service that can be consumed. If not, you can easily create a web service by converting any RFC enabled function module into web service. Make use of web service creation wizard available under menu options in transactions like SE80/SE37. You can find the URL of the web service using transaction WSADMIN or by using Web Services Navigator.
The figure on the left shows a typical configuration of SOAP receiver adapter. Specify Transport protocol as HTTP and message protocol as SOAP 1.1. Specify the Connection Parameters of the Web service. Target URL is the URL of the web service to be consumed.
Specify User Authentication if necessary. If the Web service provider requires proxy, check the Configure Proxy checkbox and specify host, post and authentication parameters as applicable. You can specify the Conversion Parameters as required.
Testing the SOAP Adapter
To test the SOAP sender adapter, you can create and send a SOAP message to XI at the web service URL by using any SOAP Client Test Tool. Some of the available tools are listed below –
- SAP Web Services Navigator (for Web services created/deployed on SAP Web AS)
- SAP SOAP Client Tool
- Altova XML Spy
- SOAP Scope
- WS Unit from Java.net
If you have created the scenario using a synchronous outbound interface, you should receive a response back from XI. You can also see the messages in SXMB_MONI or SXI_MONITOR transactions. You may also want to check the message statuses in the adapter using adapter monitor and channel monitoring features in the Runtime Workbench.
You can then create an application to send data to XI via SOAP sender adapter. In one of the earlier articles I have described how to create a Web Dynpro application to send a SOAP message to XI. Another post describes the UI design aspects of the same.