Connecting Successfactors APIs Using SOAP UI
Many of us are now struggling on how we can call or rather to check the data on the Successfactors API (called as SFAPI) from outside of SFSF. In order to do this we can simply achieve by using SOAP UI tool.
This is a quick reference document, primarily shows the steps on how to check the SFAPIs using SOAP UI. While implementing the integration with Successfactors, this will be very much helpful in terms of checking and testing on the SFAPIs.
Below are the few simple steps by which we can easily connect and fetch the data(verify) from Successfactors(SFSF) using SOAP UI tool.
Case: We will first fetch some records from User API and update the First Name of a specific User.
1. Install SOAP UI.
2. Open the SOAP UI. Click on File -> New SOAP Project.
3. Enter a meaningful Project Name.
4. Put the specific url corresponding to the SFSF data center on the Initial WSDL location from the below list (You can also save the WSDL file on your system and take that file using the Browse option).
Here we are using:https://salesdemo4.successfactors.com/sfapi/v1/soap?wsdl
5. Press OK.
6. In case there is a problem in direct communication, a proxy needs to be set up to connect to this webservice from SOAP UI.
7. The project will be created and it can be viewed on the left hand side. Exploring the project we can see the list of operations to execute them.
Login – To login into the Successfactor. A session ID will be returned once the login operation is successful. This SessionID will be required for all the next subsequent operation.
Logout – Logout from the session.
Query – For Querying the Data from the APIs. First 250 records will be fetched.
QueryMore – If there are more than 250 records and query returns first 250 records then QueryMore can be used to fetch the next set of records.
Upsert – Data Manipulation, Update and Insert.
Insert – Insert Data
Update – Update Data.
First of all, we have to execute the login method/operation. Once it is successful, a session ID will be returned. We have to use this sessionID every time we execute any opretaion. For this business case scenario, we will first use the login operation then Query operation to fetch the records and then we will use Update operation to update one field for a particular record.
8. Login Operation: Explore Login -> double click on the request. On the right hand side request page, put the CompanyID,Username and password that we use to login in the successfactor. Enter the proper endpoint url in the End Point url section. Here it is : Web Services
Copy the SessionID from the response.
9. Query Operation: Explore Query-> double click on the request. On the right hand side request page, put the query into the QueryString parameter. This query is similar to the same as pl/sql query language. Under the param section use name = maxRows and Value =5 to fetch only 5 recrds from the Successfactors.
Click on the Header Section->click on the plus sign to add a custom header on the HTTP Header. Write Cookie on the LHS and on the RHS put JSESSIONID=<copied session id from the login response>.
Please see the screenshot for more clarity.
10. Update Operation: Now let’s consider we want to update the first name for one of the User (Example USR-67).
Now we want to change the first Name to John. In order to do this, let’s use Update operation. Explore the Update operation, click on request. Use the same JsessionID into the Header section of the HTTP request. Use the type, id and first name as shown in the below screenshot.
Response shows that the update operation is now successful, In order to check the updated records we can also check this by Query operation using a where clause.
11. Querying the Updated Record: Now we can again query the data based on the id to check whether the record has been updated successfully or not. The query string will have the where clause to fetch the right record. Here for this case the query is – Select firstName, lastName From User Where id = ‘USR-67’.
Remember to provide the same SessionID in the HTTP header property. Follow the below screenshot.
This shows that Successfactors APIs can be accessed from outside world using SOAP. This tool (SOAP UI) shows on how to access the SFSF via the SFAPIs in case we want to quickly check the data.
Note: We can also create a Test suite in SOAP UI to test this.
Assumption: The Login User has to have the access to the SFAPI.