Before we deep dive in to PeopleSoft delivered Web-Services, let's talk about the basics of PeopleSoft Web Service. What is it.? "It provides a way other (3rd party) applications communicate with PeopleSoft Application, using Integration Broker".
Why Web-Service and why not other methods of integrations? like file-based if you ask, then my response would be simple. It is built on-top of existing PeopleTools Technology and provides controls for the owner system (PeopleSoft) to have necessary security (Authentication and Authorization) for data communication and standards (like SOAP and RESTful APIs) to support almost all the integrating applications. In the recent Tools version you can even create Open API consumer services.
Now, since the basics are clear, lets focus on web services that are provided by Oracle PeopleSoft out-of-the-box in the application. These services are common for any application you own, be it a HCM, FSCM, CS or CRM etc., Which can be grouped in to following two, (as per PeopleTools 8.62 PeopleBook)
- Query Access Services (aka QAS)
- Query Creation Services (QCS)
- Query Security Services (QSS)
- Query Metadata Services (QMS)
- Query Execution Services (QES)
- Process Scheduler Services
- Schedule Request Services
- Monitor Request Services
These services provides a way to Create, Access and Execute Queries simply by using necessary APIs. Think about the scenario where a Consultant just sits and do all the hard job of creating and providing access to the query or even get the report and share it via email/SharePoint every time when someone needs to see what is inside the PeopleSoft DB. Instead if you can able to provide these API access (obviously with all the controls) and 3rd Party application can able to do all these works themselves without any dependency of the PeopleSoft Consultants.
Query Creation Services
Provides 20+ SOAP and RESTful services to access record information, record relationships, field information, tree details. And with Save/Delete the query that the user is having access to.
Query Security Services
Serves 10 APIs to get Roles, Users and their relationships in the application.
Query Metadata Services
Lists the query details, fields, field translates and prompt details for better understanding of the query and planning the execution.
Query Execution Services
Serves APIs for the query execution, status fetching and results download.
In this we have about 9 Schedule Request Services and another 9 Monitor Request Services. Using this any system can able to initiate the process and monitor the status. Consider a scenario that you need to provide some processed data to a 3rd party on demand basis, e.g., Leave Balance of each staff, and for that you need to initiate the Absence Calculation in HRMS as and when they need the data.
This increase the dependency of Support Consultant or Application Admin and availability. By using these delivered services those dependencies can be avoided.
Both set of services utilizes one or many of the Query Security, Service Operation Security, WS-Security and Process Profile while invoking any APIs. And uses SSL and/or Login Credentials for Authentication.
I know "SEEING IS BELIEVING", let's have a walkthrough of using Query Execution Service (Service Operation: QAS_EXECUTEQRY_REST_GET) API using Postman tool step by step.
You first need a query to execute, it can be created using the QCS or existing queries can be used.
 |
Query Details |
Then update the WS-Security according to the need in this example I'm setting only Basic Authentication (as I'm planning to call consume the service from Postman and I don't want to bother my PS Admin to install the Postman SSL Certificate on this server).
 |
Web Service Security |
Prepare the URI parameters to be filled for our need, in this query we don't have any Prompt and Criteria so the URI templates can be build by using following parameters.
- OwnerType
- QueryName
- OutResultType
- OutResultFormat
- isconnectedquery
- maxrows
- json_resp
One URI Template I took it from the service to give an idea how you use these parameters on the URL End-Point to access the service.
Template:{OwnerType}/{QueryName}/{OutResultType}/{OutResultFormat}?isconnectedquery={isConnectedQuery}&maxrows={MaxRow}&prompt_psqueryname={Prompt_PSQueryName*}&prompt_uniquepromptname={Prompt_UniquePromptName*}&prompt_fieldvalue={Prompt_FieldValue*}&json_resp={json_response}
Sample URI: PUBLIC/BD_PERS_BASIC_QRY/JSON/NONFILE?isconnectedquery=N&maxrows=100&json_resp=true
Setup the Postman to call the service and see the results,
Parameters:
 |
URI Parameters |
Authorization Details:
 |
Authorization Details |
Note: Ensure the given User ID has access to execute the PS Query specified.
Hit "Send" and get the response, since we have kept json_resp parameter true we are getting the response in JSON or else the response will be on XML
 |
API Response |
Here is the formatted output using "Visualization" feature available in Postman,
 |
Table formatted response |
Pretty easy right? If you think from business angle the use-cases are plenty.
Let's give it a try and comment the use case of yours.
Happy Learning.