To add a JSON message, create a JSON object and pass the object as the request body.

USING OpenEdge.Net.HTTP.*.
USING OpenEdge.Net.URI.
USING Progress.Json.ObjectModel.*.

DEFINE VARIABLE oURI AS URI NO-UNDO.
DEFINE VARIABLE oRequest AS IHttpRequest NO-UNDO. 
DEFINE VARIABLE oRequestBody AS JsonObject NO-UNDO.
DEFINE VARIABLE oClient AS IHttpClient NO-UNDO.
DEFINE VARIABLE oResponse AS IHttpResponse NO-UNDO.
DEFINE VARIABLE oResponseBody AS OpenEdge.Core.String NO-UNDO.
DEFINE VARIABLE JsonString AS LONGCHAR NO-UNDO.
DEFINE VARIABLE oJsonObject AS JsonObject NO-UNDO.

//Build a request
oURI = URI:Parse("http://httpbin.org/post").
oRequestBody = new JsonObject().
oRequestBody:Add("CustNum", "200").
oRequestBody:Add("Name", "Excellent Sports Apparel").
oRequest = RequestBuilder:POST(oURI, oRequestBody):Request.

//Execute a request
oClient = ClientBuilder:Build():Client.
oResponse = oClient:Execute(oRequest).

//Process the response
IF oResponse:StatusCode <> 200 THEN
    RETURN ERROR "Request Error: " + STRING(oResponse:StatusCode).
ELSE
    oJsonObject = CAST(oResponse:Entity, JsonObject).
    oJsonObject:Write(JsonString, true). 
    MESSAGE string(JsonString).
    

Alternatively, you can pass the JSON object using the AddJsonData() method. For example:

oRequest = RequestBuilder:POST(oURI):AddJsonData(oRequestBody):Request.