Description

Update the properties of a SOAP or REST transport of a web application belonging to an ABL application. For SOAP and REST transport properties, both runtime and OpenEdge properties can be modified.

Runtime properties are derived from from the instance-name/webapps/webappname/WEB-INF/adapters/soap/runtime.props file. OpenEdge properties come from the instance-name/conf/openedge.properties file.

Runtime property fields are the same for both the REST and SOAP transport. SOAP offers a few additional OpenEdge properties. Obtain the properties for each service by running Get transport configuration properties for the necessary transport.

HTTP Operation

PUT

URI

host_name:port/oemanager/applications/ABL_app_name/webapps/Web_app_name/transports/{soap|rest}/properties

Content-Type

application/vnd.progress+json

Response codes

200 Success
500 Unexpected Server Error

Command-line example for Runtime-only properties (SOAP or REST)

Substitute soap or rest in the URI for the desired transport. Both transports contain identical runtime properties (as can seen in the following command-line example) which can be updated.

SOAP:
curl -X PUT -v
http://localhost:16680/oemanager/applications/oepas1/webapps/ROOT/transports/soap/properties -u username:password
-H "Content-Type: application/vnd.progress+json" -d {"clientASKResponseTimeout":160, "maxSessions":11,
"minSessions":1, "serviceFaultLevel":2} 
REST:
curl -X PUT -v
http://localhost:16680/oemanager/applications/oepas1/webapps/ROOT/transports/rest/properties -u username:password
-H "Content-Type: application/vnd.progress+json" -d {"clientASKResponseTimeout":160, "maxSessions":11,
"minSessions":1, "serviceFaultLevel":2} 

ABL HTTP client example for Runtime-only properties (SOAP or REST)

Note: Substitute rest for soap in the URI below if you want to update properties for the rest transport. Obtain the property list for each service by running Get transport configuration properties for the necessary transport.
using Progress.Json.ObjectModel.*.
define variable resp as OpenEdge.Net.HTTP.IHttpResponse.
define variable jsonData as JsonObject.

jsonData = new Progress.Json.ObjectModel.JsonObject().
jsonData:Add('clientASKResponseTimeout',  160).
jsonData:Add('maxSessions',  11).
jsonData:Add('minSessions',  1).
jsonData:Add('serviceFaultLevel',  2).

resp = OpenEdge.Net.HTTP.ClientBuilder:Build():Client
   :Execute(OpenEdge.Net.HTTP.RequestBuilder
      :Put('http://localhost:16680/oemanager/applications/oepas1/webapps/ROOT/transports/soap/properties', jsonData)
      :ContentType('application/vnd.progress+json') 
      :UsingCredentials(new OpenEdge.Net.HTTP.Credentials('', 'username', 'password'))
      :Request
   ).

Request body example for Runtime-only properties (SOAP or REST)

{        
	"clientASKResponseTimeout": 160,        
	"maxSessions": 11,        
	"minSessions": 1,        
	"serviceFaultLevel": 2
}

Command-line example for OpenEdge-only properties (SOAP or REST)

The SOAP transport offers additional OpenEdge properties which can be updated.

SOAP:
curl -X PUT -v
http://localhost:16680/oemanager/applications/oepas1/webapps/ROOT/transports/soap/properties -u username:password
-H "Content-Type: application/vnd.progress+json" -d {"openEdgeProps":{"collectMetrics":"2"}} 
REST:
curl -X PUT -v
http://localhost:16680/oemanager/applications/oepas1/webapps/ROOT/transports/rest/properties -u username:password
-H "Content-Type: application/vnd.progress+json" -d {"openEdgeProps":{"collectMetrics":"2"}} 

ABL HTTP client example for OpenEdge-only properties (SOAP or REST)

Note: Substitute rest for soap in the URI below if you want to update properties for the rest transport. Obtain the property list for each service by running Get transport configuration properties for the necessary transport.
using Progress.Json.ObjectModel.*.
define variable resp as OpenEdge.Net.HTTP.IHttpResponse.
define variable jsonData as JsonObject.
define variable oepropsJsonData as JsonObject.

oepropsJsonData = new Progress.Json.ObjectModel.JsonObject().
oepropsJsonData:Add('collectMetrics', "2").

jsonData = new Progress.Json.ObjectModel.JsonObject().
jsonData:Add('openEdgeProps', oepropsJsonData).

resp = OpenEdge.Net.HTTP.ClientBuilder:Build():Client
   :Execute(OpenEdge.Net.HTTP.RequestBuilder
      :Put('http://localhost:16680/oemanager/applications/oepas1/webapps/ROOT/transports/soap/properties', jsonData)
      :ContentType('application/vnd.progress+json') 
      :UsingCredentials(new OpenEdge.Net.HTTP.Credentials('', 'username', 'password'))
      :Request
   ).

Request body example for OpenEdge-only properties (SOAP or REST)

{        
	"openEdgeProps": {            
		"collectMetrics":"2"        
	}
}

Command-line example for Combined (OpenEdge and Runtime) properties (SOAP or REST)

Note: Substitute rest for soap in the URI below if you want to update properties for the rest transport. Obtain the property list for each service by running Get transport configuration properties for the necessary transport.

SOAP:

curl -X PUT -v
http://localhost:16680/oemanager/applications/oepas1/webapps/ROOT/transports/soap/properties -u username:password
-H "Content-Type: application/vnd.progress+json" -d {"clientASKResponseTimeout":60,"maxSessions":11,
"minSessions":1,"serviceFaultLevel": 2,"openEdgeProps": {"collectMetrics": "2"}}

REST:

curl -X PUT -v
http://localhost:16680/oemanager/applications/oepas1/webapps/ROOT/transports/rest/properties -u username:password
-H "Content-Type: application/vnd.progress+json" -d {"clientASKResponseTimeout":60,"maxSessions":11,
"minSessions":1,"serviceFaultLevel": 2,"openEdgeProps": {"collectMetrics": "2"}}

ABL HTTP client example for Combined (OpenEdge and Runtime) properties (SOAP or REST)

Note: Substitute rest for soap in the URI below if you want to update properties for the rest transport. Obtain the property list for each service by running Get transport configuration properties for the necessary transport.
using Progress.Json.ObjectModel.*.
define variable resp as OpenEdge.Net.HTTP.IHttpResponse.
define variable jsonData as JsonObject.

oepropsJsonData = new Progress.Json.ObjectModel.JsonObject().
oepropsJsonData:Add('collectMetrics', "2").

jsonData = new Progress.Json.ObjectModel.JsonObject().
jsonData:Add('clientASKResponseTimeout',  60).
jsonData:Add('maxSessions',  11).
jsonData:Add('minSessions',  1).
jsonData:Add('serviceFaultLevel',  2).
jsonData:Add('openEdgeProps', oepropsJsonData).

resp = OpenEdge.Net.HTTP.ClientBuilder:Build():Client
   :Execute(OpenEdge.Net.HTTP.RequestBuilder
      :Put('http://localhost:16680/oemanager/applications/oepas1/webapps/ROOT/transports/soap/properties', jsonData)
      :ContentType('application/vnd.progress+json') 
      :UsingCredentials(new OpenEdge.Net.HTTP.Credentials('', 'username, 'password'))
      :Request
   ).

Request body example for Combined (OpenEdge and Runtime) properties (SOAP or REST)

{        
	"clientASKResponseTimeout": 60,        
	"maxSessions": 11,        
	"minSessions": 1,        
	"serviceFaultLevel": 2,        
	"openEdgeProps": {            
		"collectMetrics": "2"
	}
}

Response body example (SOAP)

{
   "operation":"GET SOAP TRANSPORT PROPERTIES",
   "outcome":"SUCCESS",
   "result":{
      "idleSessionTimeout":0,
      "waitIfBusy":0,
      "connectionLifetime":0,
      "staleO4GLObjectTimeout":0,
      "requestWaitTimeout":-1,
      "clientASKActivityTimeout":60,
      "initialSessions":2,
      "minIdleConnections":0,
      "clientASKResponseTimeout":60,
      "maxSessions":11,
      "minSessions":1,
      "appServerKeepalive":"denyClientASK,allowServerASK",
      "serviceFaultLevel":2,
      "openEdgeProps":{
         "statusEnabled":"1",
         "wsdlEnabled":"1",
         "collectMetrics":"2",
         "debugClients":"",
         "webApps":"ROOT",
         "allowRuntimeUpdates":"0",
         "adminEnabled":"1",
         "adapterEnabled":"1",
         "wsaUrl":"http://localhost:8810/soap",
         "adminSoapAction":"urn:services-progress-com:wsa-admin:01"
      }
   },
   "errmsg":"",
   "versionStr":"v12.1.0 ( 2019-08-07 )",
   "versionNo":1
}

Response body example (REST)

{
   "operation":"GET REST TRANSPORT PROPERTIES",
   "outcome":"SUCCESS",
   "result":{
      "maxSessions":0,
      "initialSessions":1,
      "serviceFaultLevel":2,
      "waitIfBusy":1,
      "minSessions":1,
      "clientASKActivityTimeout":60,
      "clientASKResponseTimeout":60,
      "requestWaitTimeout":-1,
      "minIdleConnections":0,
      "appServerKeepalive":"denyClientASK,allowServerASK",
      "staleO4GLObjectTimeout":0,
      "idleSessionTimeout":0,
      "connectionLifetime":0,
      "openEdgeProps":{
         "statusEnabled":"1",
         "collectMetrics":"1",
         "webApps":"ROOT",
         "allowRuntimeUpdates":"0",
         "adapterEnabled":"1"
      }
   },
   "errmsg":"",
   "versionStr":"v12.1.0 ( 2019-08-07 )",
   "versionNo":1
}