Skip to Content
Author's profile photo Prateek Raj Srivastava

Hands-On – Testing Integration with SuccessFactors SFAPI

SFAPI is SuccessFactors web-service to import or export data to or from SuccessFactors. As this is a web-service, an obvious choice for testing is SOAPUI. This document will walk you through the simple steps to test connection with SuccessFactors and extract some data using SOAPUI. You may replace SOAPUI with any of your middleware/ ETL tool/ HTTP Client application capable of handling HTTP cookies for real world scenario.

Note: The authorization available to SFAPI user is pretty extensive and therefore this demo can help the tester to extract a lot of critical employee data. Please restrict the SFAPI access and use it wisely.


  1. Enable SFAPI in Provisioning.
  2. Create SFAPI user in Provisioning.
  3. Provide Role Based Permission (RBP) authorization to the SFAPI user. If you are not using RBP, you may use User based permission.
  4. SOAPUI installation and a very basic understanding.

SuccessFactors URL

SuccessFactors URLs or endpoints are specific to data centers. You should always use the URL specific to your data center.


The WSDL as usual can be retried by adding “?wsdl” to the link

https:// <hostname>

You may find an actual WSDL structure here:

SuccessFactors User Credential

In order to access the data, you will need username, password and Company ID. The Company ID is your unique Company ID which you use to log into your SuccessFactors instance.

SOAPUI Configuration

  1. Create a new SOAPUI Project and use the SuccessFactors URL as the ‘Initial URL’. ‘salesdemo4’ is used as a hostname only for reference to upload the WSDL. For actual data extraction, you should either have access to salesdemo4 with all the prerequisites met or use your client specific data center.


  2. Once you click OK, you will find the entire definition loaded into SOAPUI.


  3. Right click SFAPISoapBinding and click on Generate TestSuite.


  4. When it prompts, there is no need to change any parameter and you may directly click Ok. Change the TestSuite name if needed, else press OK. You will find a TestSuite generated.


  5. First one you want to try is the login TestCase. Double click the ‘login’ tab and enter your username, password and CompanyID. Verify the URL and execute.


  6. Hurray! The session ID is retrieved which shows that the connection successfully worked.

But that is not all. The main criterion to test SFAPI is the session handling. The session ID retrieved in step 5 is the HTTP Cookie that must be passed to all subsequent HTTP requests for authentication purposes. Unless you execute a logout step, the session stays open until 10 minutes. So let’s have a look how a session can be maintained using SOAPUI.

   7. Open one of the ‘Test Step’ in the Test suite you created. For testing I am using ‘list’ option. Add login and logout step before and after the list step respectively.


  8. To do that, click on SOAP request, name it ‘login’ and select the login operation.


  9. Repeat the step to create a logout step after the list step. Your test case should have 3 steps as shown:


  10. To maintain HTTP session, use ‘Sets options for this TestCase’ option and select ‘Maintain HTTP Session’.



  11. Add login details to login step as done in Step 5 and check again the URLs used in each test step. Once done, execute the test case.


  12. Output of each test step can be seen by double-clicking the steps. A sample of list output is below:


13. To monitor this call in SFAPI, Login to instance -> Admin Tools -> SFAPI Audit Logs


Note: You may freely use Session management (login, logout) and Metadata (list, describe) operations. However, while using Data Manipulation operations (insert, update, upsert, delete), take extra care as you are directly manipulating the database.

Also see: Hands-On – Testing Integration with SuccessFactors Odata API

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Somdeb Banerjee
      Somdeb Banerjee

      Hi Prateek,

      Thank you for sharing the article. I am a novice in SOAP UI and would want to learn more.

      Can you please let me know a few example scenarios where SOAP UI will help in testing SuccessFactors application.

      What are we trying to test via this article and what are we validating against?

      Can you please help.



      Author's profile photo Prateek Raj Srivastava
      Prateek Raj Srivastava
      Blog Post Author

      The original intention of using SOAPUI was to perform connectivity test with SuccessFactors. Over a period of time, we then used it to quickly fetch some data out of SuccessFactors instead of triggering the requests from middleware like SAP PI. Even the functional teams were using it to see how the data extract would appear in the interfaces for entities like CompoundEmployee. Some of the fields of the entities return unique IDs instead of actual values which can only be determined if you perform a real test with a tool like SOAPUI.



      Author's profile photo Amit Bajaj
      Amit Bajaj

      Hi Prateek,

      What SF authorization in need to execute a web service say CompoundEmployee?


      Author's profile photo Hubery Yao
      Hubery Yao

      Good Sharing, Thanks a lot, Prateek.

      Author's profile photo Former Member
      Former Member

      Any idea on how to integrate successfactors using SAP UI5?

      Author's profile photo Former Member
      Former Member

      Great blog! Very usefull!

      Author's profile photo Manu Bhutani
      Manu Bhutani

      Hi Prateek,

      I just started working on HCI and was wondering how to get the the wsdl for custom integration scenarios, what i understood from this blog is for odata we can get the wsdl from https://<data center>$metadata, and when we login with our customer instance so we will obviously get the wsdl of our particular system. Am i right.

      And can you please suggest how to get wsdl for SFAPI, this link does not asks for login credentials so how can we get wsdl(including custom fields) of our customer instance.




      Author's profile photo Former Member
      Former Member

      Hi Prateek,

      I am getting the following error, Can I know how to enable the Basic authentication for Odata service in Provisioing. I was searching in Provisioning for the option but I am not able to find the right place to enable it.

      Accessing OData API using Basic authentication or External OAuth on non-API servers is forbidden. Please switch to the corresponding API server in
      Author's profile photo Former Member
      Former Member

      Thanks for the article .

      Below would also offer some help to make SFAPI call through SOAP UI :

      SAP Successfactors SFAPI execution details from SOAP UI



      Author's profile photo Netrey Powdwal
      Netrey Powdwal

      I am getting error "Authentication failed, invalid user id or password(status code = 4)" when testing through soapUI. However, I am able to login to SF Employee Central successfully with the same user id/password. Am I missing anything here?

      Author's profile photo VijeyAananth SR
      VijeyAananth SR

      Simple and east to understand 🙂

      Author's profile photo Abby Odsinada
      Abby Odsinada


      Based on the recent KBAs of SAP, Basic authentication will be retired soon.

      And it says in the note that it includes SFAPI / CompoundEmployee. How will it work for CompoundEmployee ? For OData APIs, I can imagine how and there are blogs how to do it. But for CompoundEmployee.. how do you do it?

      Author's profile photo Prateek Raj Srivastava
      Prateek Raj Srivastava
      Blog Post Author


      As you might have noticed, this is an old blog from 2014. 🙂

      For your question, please note that Basic Authentication is still available to use until 2H 2022. Here is what I see from SAP:

      For SFAPIs, we plan to add a new authentication method to replace HTTP Basic Authentication. We’ll provide a minimum of 12-month notice from the time the new authentication is provided to when Basic Auth is retired.

      Ref Link



      Author's profile photo Abby Odsinada
      Abby Odsinada

      Yes, that's okay. Just wondering if you have tried with the OAuth2SAMLBearer Authentication with Compound Employee.


      Thank you.