Chris Malek is a PeopleTools® Technical Consultant with two decades of experience working on PeopleSoft enterprise software projects. He is available for consulting engagements.
About Chris Work with ChrisIntroducing a small but powerful PeopleSoft bolt-on that makes web services very easy. If you have a SQL statement, you can turn that into a web service in PeopleSoft in a few minutes.
The Synchronous service operation
(non-REST) is one of the most common service operations types that has been implemented historically in PeopleSoft. In the future, you will likely see REST services take over as the most popular.
These service operations can be both inbound and outbound in direction. The inbound synchronous SOs are generally submitted to the HttpListeningConnector
using the HTTP Post Method.
In this interaction model, a client sends a request message and it is handled in real-time and a response is generated. You use this type of service operation when the client needs a response to the request and it “waits on the wire” for a response. Some examples of this type are service might be in this form:
Here I am referring to providing a web service to an external system not PeopleSoft calling an external web service. This is referred to as an “inbound” operation.
There are a few types of handlers
for synchronous inbound service operations.
For outbound synchronous service operations the available handlers are:
An outbound SO is one where PeopleSoft is asking an external system for data over a web service.
To invoke a inbound synchronous SO on the HttpListeningConnector
you always do an HTTP Post
. The minimum HTTP signature without any security looks like this.
POST /PSIGW/HttpListeningConnector HTTP/1.1
Host: hcm-856.c.peoplesoftdemo-1470578694381.internal:8000
OperationName: CHG_SYNC_UTEST.v1
We have no payload in this message and no authorization. The HTTP response would look something like this.
HTTP/1.1 200 OK
status: 200
date: Sun, 29 Oct 2017 16:21:07 GMT
content-length: 78
content-type: text/xml; charset=UTF-8
transactionid: 2b2e2d56-bcc5-11e7-8c89-f1fdee7c0e02
<?xml version="1.0"?>
<response>
<helloworld>greetings</helloworld>
</response>
The transactionid
header is the unique ID of the request that is logged in PeopleSoft.