Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
Showing results for 
Search instead for 
Did you mean: 


This is a scenario for connect a basic SAP-to-REST synchronous interface using JSON body parameters.
This blog contents:

  • Introduction

  • Motivation

  • System versions

  • Scenario

  • Step 1: System Landscape Directory

  • Step 2: Enterprise service builder

  • Step 3: Trusted CA’s certificate installation

  • Step 4: Integration Builder

  • Step 5: Generating the proxy

  • Step 6: Testing the proxy in ECC120UnitTest client

  • Conclusion


We recently had to use PI to connect a REST web service. I had to learn basics about PI with REST, the blog “Consuming Your First Synchronous RESTful Service – Step-by-Step” was very useful, I appreciate the help.

I ran into this problem, I had to research about the specific configuration to use JSon as parameters in the body, not in the request header. Next, I’ll share the solution I’ve come up with…

System versions

SAP ECC 7.4 (SAP BASIS 740 SP 23)


We would like to connect SAP ECC to a new RESTful web service, this uses JSON parameters as part of message body, not header. The first request we would connect to get a security identification token.This is the sample request format got from Soap UI:

Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 91
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
"__type":"XXXX ",

We got this sample result for the request:
"Data": {
"Data": [ {
"Codigo": "SecurityTokenId",
"Descripcion": "XXXX=="
"Success": true

Next picture shows the scenario in Soap UI:

We had to consider these annotations:
1. Use of https requires of SSL certificate
2. There are not parameters in the header of the request
3. Media type is settled to application/json
4. The JSON body parameter contents special characters (“__type”)


Step 1: System Landscape Directory

Transaction SXMB_IFR


1. Create a new product and version

In tab General set vendor and product name
In tab Software Components set a new Product Instance and a new Software Component Version


Step 2: Enterprise service builder

We created these objects:

1. Create software component version, got from SLD


2. Data types for request and response

* The name of field “__type” is not allowed, we had to use XML to JSON name mapping in Integration Builder Communication Channel.

Data Type for response


3. Message Types




4. Service interfaces




5. Message mappings



*Object ns0:mt_aut_response right-click marked “Return as XML”


6. Operation Mapping

Request Tab

Response Tab


Step 3: Trusted CA’s certificate installation

In SAP NetWeaver Administrator / Configuration / Certificates and Keys we installed the CA certificate.

Installed certificate.


Step 4: Integration Builder

We created these objects:

Already existed the Business Systems BS_BNV_D and ECC120UnitTest, they were created in the system landscape directory.


1. Communication channel

SAP XI adapter type (sender):


SAP REST adapter type (receiver):

*At first, we couldn´t see the adapter type REST when we were creating the communication channel, we had to upgrade the version of component XI CONTENT SAP_BASIS 7.40

After import finalized:

We used the key store of the installed certificate in trusted CA’s.

Rest URL Tab

REST Operation Tab

Data Format Tab

*Element Name corresponds with the message type created in ESR for the response.

*Here we defined the mapping name between XML and JSON.

HTTP Headers Tab


2. Receiver determination


3. Interface determination


4. Sender agreement


5. Receiver agreement


Step 5: Generating the proxy

In SAP ECC, SPROXY transaction we created the proxy.

How class looks.


Step 6: Testing the proxy in ECC120UnitTest client.

Define parameters for test, changing String X with the correct values.


Sucessfull answer from remote host


How it looks in SXI_Monitor transaction.

Message overview in SAP NetWeaver.



This concludes my first blog; I hope it was helpful to understand the consumption of RESTful services using SAP PI REST adapter with JSON body parameters. Please do let me know your comments.

Labels in this area