Sending and Receiving Segmented Messages to/from Third-Party Systems
This section discusses how to:
-
Send segmented messages to third-party systems.
-
Receive segmented messages from third-party systems.
Understanding DataChunkCount and DataChunk Properties
PeopleSoft Integration Broker uses two properties to communicate to sending and receiving systems the number of message segments that are contained in a transaction:
| Field or Control | Description |
|---|---|
|
DataChunkCount |
Indicates the total number of data chunks or message segments contained in the transaction. |
|
DataChunk |
Indicates the number of the data chunk or message segment that you are sending. For example, if there are a total of seven data chunks in the transaction, and the current segment is the third chunk, the DataChunk value for the current message is 3. |
Note that when you are sending and receiving message segments between PeopleSoft systems these properties are not used. The PeopleSoft target and listening connectors perform all necessary processing.
Sending Segmented Messages to Third-Party Systems
To send segmented messages from PeopleSoft systems to third-party system, use one of the following target connectors:
-
HTTP target connector
-
JMS target connector
-
SMTP target connector
No additional target connector configuration is required to send segmented messages. These connectors read the messaging PeopleCode on the integration gateway and determine the number of segments contained in the transaction. They then populate the DataChunkCount and DataChunk parameters and include this information with each outbound segment sent. All of these connectors except for the HTTP target connector send the DataChunkCount and DataChunk information in the message header of each outbound message segment. The HTTP target connector includes the DataChunkCount and DataChunk parameter information in the HTTP header of each outbound message segment.
Before sending a transaction with message segments, on the PeopleSoft system, be sure that the Segment Aware check box is selected for the remote node that represents the third-party integration partner.
Receiving Segmented Messages from Third-Party Systems
At this time, only the HTTP listening connector can be used to receive message segments from third-party systems.
To receive segmented messages with third-party integration partners, the third-party must specify the following DataChunkCount and DataChunk parameters in the HTTP properties, query arguments, or SOAP header:
The receiving PeopleSoft system must use the HTTP listening connector as only this connector monitors transactions for these parameters.
After the third party sends in the first segment, the PeopleSoft system sends an acknowledgement to the third-party system. The acknowledgment contains a transaction ID that the third-party integration partner must include with all subsequent segments.
The following bullet points describe sample processing for a third-party integration partner sending a transaction to a PeopleSoft system that contains three segments:
-
First segment processing:
-
The third-party integration partner prepares the first message/segment of the transaction. In the HTTP properties, query string, or SOAP header, it sets the DataChunk equal to 1 indicating the first chunk, and sets the DataChunkCount equal to 3 indicating total number of chunks to be sent for the transaction.
-
When the request is received by the PeopleSoft system the data chunk is saved in the database as a segment.
-
In the Service Operations Monitor the transaction displays a status of Hold.
-
The PeopleSoft system sends an acknowledgement to the third-party system, which includes a transaction ID.
Note:
The third-party integration partner must include the transaction ID as part of all subsequent requests for the transaction. The PeopleSoft system uses the transaction ID to identify the segments that belong to the transaction.
-
-
Second segment processing:
-
The third-party integration partner prepares the second message/segment of the transaction. In the HTTP properties, query string, or SOAP header, it sets the DataChunk equal to 2 indicating that the message is the second chunk, and sets the DataChunkCount equal to 3 indicating total number of chunks to be sent for the transaction. It also specifies the transaction ID sent by the PeopleSoft system in the acknowledgement for the first segment.
-
When the request is received by the PeopleSoft system the data chunk is saved in the database as a segment.
-
In the Service Operations Monitor the transaction displays a status of Hold.
-
-
Third segment processing:
-
The third-party integration partner prepares the third message/segment of the transaction. In the HTTP properties, query string, or SOAP header, it sets the DataChunk equal to 3 indicating that the message is the third chunk, and sets the DataChunkCount equal to 3 indicating total number of chunks to be sent for the transaction. It also specifies the transaction ID sent by the PeopleSoft system in the acknowledgement for the first segment.
-
When the request is received by the PeopleSoft system the data chunk is saved in the database as a segment.
-
Since the PeopleSoft system has received all of the segments in the transaction, in the Service Operations Monitor the transaction displays a status of New.
-
The PeopleSoft system processing the transaction like any other transaction at this point.
-
The PeopleCode to read the data chunks/segments is the Message Segment API.