SAP HANA Cloud Integration :: Webservice SuccessFactor – A Walkthrough
We are aware that today’s technology world is shifting towards Cloud Platform. Many companies offering their Cloud compatible business solutions. One such major product is Success Factor – SAP Cloud solution for HCM. Hence the Integration scope of Cloud-Cloud and Cloud-On-Premise system has already been expanded. SAP PI/PO –Middle-ware technology caters Integration needs of all A2A/B2B but supports On-premise systems connectivity only. SAP’s HANA Cloud Integration’s platform (HCI) provides Integration featuring Cloud-Cloud and Cloud-On premise systems.
This blog walks through you about a scenario featuring connectivity between On-Premise and Cloud Solution via HCI.
(On premise) Webservice (SOAP) — > SAP HCI (Cloud) –> SuccessFactor (Cloud Solution)
- Eclipse Luna (4.4.2) IDE
- SOAP UI 5.2.0
- Key store explorer 5.1.1
- Above mentioned tools should already been downloaded into your system
- HCI development Tools downloaded from https://tools.hana.ondemand.com/luna and
- Of course HANA cloud Instance /HCI Instance Trail Version.
Web Service call with User name details passed to HCI been triggered from SOAP UI and corresponding User details will be fetched from Success Factor. I have used XPATH expression to get the user details dynamically from Success Factor . Step by step approach has been explained below.
Synchronous source Structure created using on-premise PI system <<HCI Integration Flow help>> and same has been imported here into HCI system.
Address –> /userquery will be scenario specific details . It will be added as suffix in End point URL generated for Scenario.
Remaining Service and Endpoint we can select it manually or by choosing the respective WSDL it auto populates the Service and Endpoint.
Success Factor Adapter Configuration
SF Adapter supports SOAP/ODATA Protocols for SFAPI and ODATA API respectively. We have opted for SFAPI in our case.
Connection to SF Server configuration screenshots captured in attached document. <<HCI Integration Flow help>>
Target XSD has been generated by connecting to Success Factor Server to choose required Entity , its USER Entity in our case.
XPATH has been used in Query to get the Dynamic user name during run time.
Connectivity between Success Factor and HCI
Connectivity between SuccessFactor (Cloud Solution of HCM) and HCI requires Certificate Based Authentication.
Basic Authentication mode would be preferred for Inbound messages to SAP HCI. Here we need to go with Certification based Authentication mode. Since HCI calls SuccessFactor ( push from HCI) to establish connectivity Certification based Authentication mode is required. Kindly except the below error otherwise.
Even if SuccessFactor been at sender end Certificate based authentication is required.
“Error = javax.xml.ws.WebServiceException: Could not send Message., cause: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target”
Basic Credentials and Certification Deployment steps
Following are different Authentication type available in SAP HCI currently. Different scenarios do require different authentication type .
For eg., Connectivity to Twitter we need to maintain Secure Parameter type IDs for authentication purpose.
Our case requires User Credentials(username/password) and Keystore (for Certificate deployment) configuration and deployment.
Wizard will be available by right clicking on Cloud Instance which can be accessed from left bottom corner (Node Explorer view)
System’s User credentials will be maintained in the below format and the same can be reused multiple times for similar server connectivity by deploying into the HCI server. Our case we need to maintain Success Factor Cloud Instance Username and password and configured in SuccessFactor Adapter level.
Keystore Explorer has been used to store Certificates we obtained from Vendor (Successfactors here – Root, Intermediate and CA) and store the certificates in keystore in .jks format which will be deployed into HCI Server. Certificates will be maintained against single entry system.jks (standard) and need to ensure all the old and new certificates are available.
In order to do the same, system. jks file should be downloaded from HCI Server and after appending the latest certificates we can deploy system.jks again.
Few other blogs talks about Certificate download and hence its been pointed out in reference section to avoid redudancy.
We are maintaining simple message mapping between source and Target and user details XPATH value passed to Query (Dynamic user details) to fetch details from Success Factor
Overall Integration Flow (iFlow)
Each and every iflow should be deployed into Server and Endpoint URL will get generated for every case.
We can copy the Endpoint URL /WSDL can be downloaded and share it with the SOAP Clients.
SOAP UI Call
Using the WSDL url a test project will be created in SOAP UI.
Simple SOAP UI Request call will be made to invoke the service in HCI. (with Basic Authentication)
Once request triggered from SOAP UI, call will be made to HCI and SuccessFactor been connected and response will be obtained from Successfactor and passed to SOAP UI via HCI.
Message Monitoring at HCI level
Below screenshot depicts Message flow monitoring at HCI server level.
Success Factor level Monitoring
Logon to SuccessFactor Cloud Instance and by choosing SFAPI Audit log, message flow can be monitored.
Detailed Log of Request and Response can also be viewed at SF level.
I understand there are many blogs related to SuccessFactor are available over net, however i believe this blog gives you an idea and step by step guidance for Webservice to SuccessFactor Connectivity via HCI.
Hope it helps. Happy Learning 🙂