Skip to Content

SAP HANA Cloud Integration

SAP HANA Cloud Integration facilitates the integration of business processes and data across on-premise and cloud applications (cloud to cloud and cloud to on-premise integration).

SAP HANA Cloud Integration for process integration allows you to integrate business processes spanning different companies, organizations, or departments within an organization. SAP HANA Cloud Integration for data services allows you to efficiently and securely use ETL (extract, transform, and load) tasks to move data between on-premise systems and the cloud.

HANA Cloud Integration for Data Service Web Service Support

When an external application calls into SAP HANA Cloud Integration through web services, the application acts as a web service client accessing a web services server. Web service clients call the published web services, pass in the appropriate parameters, and receive the results. SAP HANA Cloud Integration web services are compliant with JAX-WS and Web Services Interoperability (WS-I)

SOAP UI Tool Download and Install

Download and Install SOAP UI from below URL

https://www.soapui.org/downloads/latest-release.html

How to access HCI-DS Webservice WSDL Definition

Access the WSDL file by making web service client call to it using your HCI URL.

Logon to Hana Cloud Integration Data Service with provided user credeintials

URL: https://<Tenant>/DSoD/session/logon


E.x.: URL: https://integration.ondemand.com/DSoD/session/logo

Once you sucecssfully logon to HCI Web UI, modify URL in the browser as below to view WSDL file which need to be shared with Webservice Application.

WSDL URL: https://<tenant>/DSoD/webservices?wsdl (The Same URL can be consumed by Webservice Application to load WSDL)


e.x.: URL: https://integration.ondemand.com/DSoD/webservices?wsdl


Use the information in the WSDL file provided by SAP HANA Cloud Integration to create an application that can access tasks.

Webservice Operation avaliable to access HANA Cloud Integration

There are seven operation are available to access HCI Data Service, each operation calls between HCI Data Service are secured with Session ID

  1. Logon – Establish connection to HCI with web service session and returns Session ID for further operations
  1. Ping– Verifies the connection to HCI, This Operation requires Session ID for connection verification
  1. RunTask– The Operation calls and executes specified Task and Returns RunID which can be used to fetch status of the task
  1. GetTaskStatusByRunID – This Operation returns status of the task execution with the specified RunID
  1. GetTaskLogs – The Operation retrieves Trace, Monitor and Error Logs for the task execution with the specified RunID
  1. GetAllExecuted– The Operation retrieves list of task which are currently running or executed
  1. Logout– This operation kills the session established with Session ID

Execution: Call HCI DS from SOAP based application

Create a SOAP Project in SOAP UI

Follow Below Steps to create SOAP Project

Open SOAP UI tool->File->New SOAP Project


Enter Project Name and Initial WSDL (URL)

Project Name: Run_HCI_Task

Initial WSDL: https://Integation.ondemand.com/DSoD/webservices?wsdl

You can find list of 7 HCI Web Service Operation on WSDL below

Logon Operation Execution

A Request message will pop up with required SOAP format

Enter required details orgName, username password and isProduction elements and hit Submit Request button

Response Message:

It will return response message with a Unique Session ID

HTTP Basic Authentication parameter through HTTP Header:

Maintain HTTP Header as mentioned in the screenshot

The Authorization header is constructed as follows:

  1. Username and password are combined into a string “username:password”.
  2. The resulting string literal is then encoded using Base64.
  3. The authorization method and a space, i.e. “Basic ” is then put before the encoded string.

For example, if the user agent uses “sap” as the username and “abacdefg” as the password then the header is formed as follows:

Authorization: Basic bWW06YWJjZGVmZw==

Request Message:

Note: Add header value for Basic Authentication and do not delete elements on SOAP Body

Response Message:

HCI Returns Session ID successfully

Ping Operation Execution

Navigate ping Operation and double click on Request1

A Request message will pop up with required SOAP format

Enter SessionID received on logon Operation and hit Submit Request button which is green play button

Request Message:

Screenshot: Project Navigation(at left), Request message(at right)

Response Message:

HCI will authenticate the validity of session forwarded and returns welcome response message once the session is valid 

HCI will return fault message, if session is not valid or expired

runTask Operation Execution

Navigate runTask Operation and double click on Request1

A Request message will pop up with required SOAP format

Maintain SessionID on HTTP Header which is received on logon Operation, Provide Task name to be called along with HCI Agent name and Optionally Description and then click Submit Request button which is green play button to perform web service operation

Request Message:

Screenshot: Project Navigation(at left), Request message(at right)

Note: Remove Variable element on global Variables node as if you already maintain global variable on Execution Properties (on HCI task). This variable can be used to set Global Variables dynamically

  1. e.x. INSERT_UPDATE or DELETE operation, can be set dynamically while calling HCI task through SOAP Application to insert/update or delete records on Target System table. Delete Command will not flush target table but delete records based on key field data fetches from source

Response Message:

Once HCI receives Wbeservice call for Task execution, It will execute the task and return RunId back as response for further operation to check status


getTaskStatusByRunID Operation Execution

Navigate runTask Operation and double click on Request1

A Request message will pop up with required SOAP format

Maintain SessionID on HTTP, and RunID of task got from runTask Operation on SOAP body to fetch present status of task execution from HCI.

Request Message:

Screenshot: Project Navigation(at left), Request message(at right)

Response Message:

HCI Returns Run ID, Status code along with task execution, start and end time

getTaskLogs Operation Execution

Navigate runTask Operation and double click on Request1

A Request message will pop up with required SOAP format

Maintain SessionID on HTTP Header, and RunID on body.

To get status logs in base64encode format, maintain value “true” for element base64Encode otherwise false to get normal text

  1. i.e. <base64Encode>true</ base64Encode>

Or

<base64Encode>false</ base64Encode>

Maintain value true for element getLog on traceLog, monitorLog and errorLog node to fetch corresponding logs and false to Ignore logs. Additionally maintain log page number (pageNum) to fetch logs from particular page

Request Message: (base64Encode=true)

Screenshot: Project Navigation(at left), Request message(at right)

Response Message: (base64Encode=true)

You can find Trace, Error and Monitor logs are in encoded format on below screenshot

Response Message: (base64Encode=false)

getAllExecutedTasks Operation Execution

Navigate getAllExecutedTasks Operation and double click on Request1

A Request message will pop up with required SOAP format

Maintain SessionID on HTTP Header, and required element on body.

To get all executed task status, remove all optional fields on body as highlighted on below screenshot. This will return task name along with status.

Maintain status Code or start and end date or task name to restrict response information on particular period of time or task

Request Message:

Remove all optional fields to fetch all executed task


Response Message:

HCI returns executed task along with statuscode and runid

logout Operation Execution

Navigate getAllExecutedTasks Operation and double click on Request1

A Request message will pop up with required SOAP format

Specify SessionID on SOAP Body and give web service call to HCI to destroy the session

Request Message:

Response Message:

HCI returns Logout message successfully

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

  1. Mukesh Sharma

    Hi ,

    Very good blog. DO you see such calls can be done from SAP BW  as well?

    Our Idea is to Kick HCO job from BW via Process chain and after completion HCI job only process chain should complete

    (0) 

Leave a Reply