Contents

PeopleSoftListeningConnector

The PeopleSoftListeningConnector is used to send messages between PeopleSoft instances. This would be something like PeopleSoft HR talking to PeopleSoft Campus or PeopleSoft Finance. This is what is used when delivering PeopleSoft “sync” messages like PERSON_BASIC_SYNC or USER_PROFILE_SYNC.

You should NEVER be targeting this end-point for external integration. You should either be targeting the HttpListeningConnector or the Rest Connector for external integrations.

A common mistake I see people make is giving the PeopleSoft integration broker URL like this to someone trying to call PeopleSoft web services: https://ib.cedarhillsgroup.com/PSIGW/PeopleSoftListeningConnector. The reason is that if you look at the “Gateway” page in PeopleSoft that page will surface that URL. However, that is never correct for external integrations. I have seen many months of wasted person hours with external systems trying to integrate and targeting the PeopleSoftListeningConnector when they should be targeting one of the other listening connectors.

This listening connector is meant for two PeopleTools systems to exchange information and it uses MIME data encoding to transfer data. No integration partner uses MIME encoding of data.

From PeopleBooks:

…using MIME multipart message type (Content-Type: multipart/related;), with a very specific internal formatting: there are two MIME parts (section), one carries the IBInfo (the parameters of the sending) and the other carries the message payload XML.

The URL pattern is: https://host:port/PSIGW/PeopleSoftListeningConnector

General Characteristics

  • All PeopleSoft-to-PeopleSoft messages are delivered to the same URL.
    • URL Pattern: https://host:port/PSIGW/PeopleSoftListeningConnector
  • Accepts data only via the HTTP POST method.
    • A GET against the URL just returns the gateway status page (useful for connectivity tests — see below).
  • The Content-Type header must be multipart/related with a MIME boundary.
  • The HTTP body must contain two MIME parts:
    • An IBInfo part (Content-ID: IBInfo) carrying an IBRequest XML document. This is where all routing, security, and operation metadata lives (From, To, ExternalOperationName, Password, etc.).
    • A payload part (Content-ID: <message>) carrying the message XML.
  • Null characters (ASCII 00) in message field data are not supported. The sender must substitute them before transmission, otherwise the message will fail.
  • When the connector receives a request it:
    1. Logs the incoming request.
    2. Unmarshals the MIME body into an IBRequest object.
    3. Invokes the target connector named in the IBRequest’s ConnectorClassName field (derived from the source node definition on the remote PeopleSoft system).
    4. Returns the response to the requesting system and logs it.

Example MIME Body

POST https://ib.cedarhillsgroup.com/PSIGW/PeopleSoftListeningConnector HTTP/1.1
Content-Type: multipart/related; boundary="----=_Part_0_PSFT_BOUNDARY"
Mime-Version: 1.0

------=_Part_0_PSFT_BOUNDARY
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: IBInfo

<?xml version="1.0"?>
<IBRequest>
    <ExternalOperationName>PERSON_BASIC_SYNC.VERSION_1</ExternalOperationName>
    <OperationType>async</OperationType>
    <From>
        <RequestingNode>PSFT_HR</RequestingNode>
        <Password>{encrypted-node-password}</Password>
        <OrigTimeStamp>2026-05-12T08:15:30.000-0700</OrigTimeStamp>
    </From>
    <To>
        <DestinationNode>PSFT_CS</DestinationNode>
    </To>
    <ContentSections>
        <ContentSection>
            <Headers>
                <version>VERSION_1</version>
            </Headers>
            <Data><![CDATA[<see next MIME part>]]></Data>
        </ContentSection>
    </ContentSections>
</IBRequest>

------=_Part_0_PSFT_BOUNDARY
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <message>

<?xml version="1.0"?>
<PERSON_BASIC_SYNC>
    <FieldTypes>
        <PERSON class="R">
            <EMPLID type="CHAR"/>
            <BIRTHDATE type="DATE"/>
        </PERSON>
    </FieldTypes>
    <MsgData>
        <Transaction>
            <PERSON class="R">
                <EMPLID><![CDATA[K0G003]]></EMPLID>
                <BIRTHDATE><![CDATA[1980-01-15]]></BIRTHDATE>
            </PERSON>
        </Transaction>
    </MsgData>
</PERSON_BASIC_SYNC>

------=_Part_0_PSFT_BOUNDARY--

Error Response Format

When the connector encounters an error it returns an IBResponse XML document (not SOAP), regardless of how the request was framed. The shape looks like this:

<?xml version="1.0"?>
<IBResponse type="error">
    <DefaultTitle>Integration Broker Response</DefaultTitle>
    <StatusCode>20</StatusCode>
    <MessageSet>158</MessageSet>
    <MessageID>10403</MessageID>
    <DefaultMessage>Integration Gateway failed while processing the message.</DefaultMessage>
    <MessageParameters>
        <Parameter>ContentSection</Parameter>
    </MessageParameters>
</IBResponse>

Note that — like the HttpListeningConnector — this endpoint generally returns HTTP 200 OK even on application errors. The actual error is in the body. Log the body and parse it.

Security

Because this connector reads everything from the MIME envelope, security parameters are passed inside the IBInfo XML, not as HTTP headers or query-string parameters. The options are:

Connectivity Test

If you need to test connectivity to this handler you can do a curl like this. A bare GET against the endpoint will not deliver a message, but it will hit the gateway and surface a status page — which is enough to prove that name resolution, TLS, and the web-server path are all working.

curl https://ib.cedarhillsgroup.com/PSIGW/PeopleSoftListeningConnector

HTTP/1.1 200 OK
connection: close
content-length: 306
content-type: text/html
date: Sun, 22 May 2022 14:04:09 GMT
strict-transport-security: max-age=31536000; includeSubDomains; preload

<HTML><HEAD><TITLE>
PeopleSoft Integration Gateway
</TITLE></HEAD><BODY>
<div id="pt_pageinfo_win0" menu="PING_GATEWAY" component="PING_GATEWAY" page="PING_GATEWAY"></div>
<H1>PeopleSoft Integration Gateway</H1>
PeopleSoft Listening Connector<BR>
Status:<span id="PING_STATUS">ACTIVE</span>
</BODY></HTML>

Author Info
Chris Malek

Chris Malek is a PeopleTools® Technical Consultant with over two decades of experience working on PeopleSoft enterprise software projects. He is available for consulting engagements.

Work with Chris
PeopleSoft REST APIs in Minutes, Not Months
PeopleSoft Simple Web Services (SWS)

SWS turns SQL into production REST APIs — ready for AI, modern apps, and partner integrations. One install, unlimited potential.

  • Configuration-driven, no coding required
  • JSON, XML, and CSV output
  • Works across all PeopleSoft pillars
  • Built on 25+ years of PeopleSoft expertise
Looking for pain-free PeopleSoft web services?
PeopleSoft Simple Web Services (SWS)

A powerful PeopleSoft bolt-on that makes REST web services easy. You bring the SQL, SWS handles the rest.

  • Go from idea to production in minutes
  • Zero code migrations after install
  • JSON, XML, and CSV output supported
  • No PeopleCode or Integration Broker expertise required
Stop Building PeopleSoft Web Services the Hard Way
PeopleSoft Simple Web Services (SWS)

Traditional PeopleSoft web services cost $3,600–$13,000 each to develop. SWS deploys production REST APIs in under 5 minutes through configuration alone.

  • No PeopleCode or Integration Broker expertise required
  • Works across Campus Solutions, HCM, and Financials
  • Built-in pagination, caching, and nested data structures
  • Trusted by institutions across higher education and government
PeopleSoft REST APIs for AI, Modern Apps, and Integrations
PeopleSoft Simple Web Services (SWS)

Turn PeopleSoft data into clean REST APIs for AI integrations, modern applications, and vendor data feeds. Configuration-driven — no PeopleCode required.

  • Deploy production APIs in under 5 minutes
  • AI and LLM ready (RAG, chatbots, intelligent search)
  • JSON, XML, and CSV output
  • Zero modifications to delivered PeopleSoft objects