Was this helpful?
JSON-RPC Configuration File
The 4GL procedures of an application, which should be available for JSON-RPC requests, must be configured through a file named applicationname.json (the same name as the application with a “.json” extension).
The file is searched in the following locations while executing the JSONRPC requests:
1. The directory specified by II_W4GL_JSON_CONFIG environment variable
2. The subdirectory orjsonconfig of the directory specified by II_CONFIG directory
3. The ingres/files/orjsonconfig subdirectory of the directory specified by the II_SYSTEM directory
The file is read during the initialization of the JsonHandler used internally during JSON-RPC requests (referenced by the CurJsonHandler global variable).
Registrations for the callable 4GL procedures are contained in a member named “registeredprocs” (a JSON object), containing a “rows” member (a JSON array), which contains a JSON object for each registered procedure with the following members:
“name”
Contains the 4GL procedure name
“params”
Is a JSON object containing a “rows” member (a JSON array), which contains a JSON object for each parameter used in a JSON-RPC request, having the following members:
“name”
Contains the parameter name
“byref_use”
Defines whether this parameter can be passed BYREF using the pseudo-parameter “$byref_params” in JSON-RPC requests (this is optional, default: false)
Notes:
Not all defined parameters of a 4GL procedure are required to be used in JSON-RPC requests.
The “params” member is optional; it may be omitted if a procedure has no parameters.
Additionally, the configuration file also allows setting JsonHandler attributes AlwaysAddClassname, GenMixedCaseMemberNames, IgnoreUnknownAttributes, and MaxNestingLevel (used during parsing or writing of JSON-RPC request/response messages) by using according (optional) members “alwaysaddclassname,” “genmixedcasemembernames,” “ignoreunknownattributes,” and “maxnestinglevel” (lowercase names).
See the JsonHandler Class in the Language Reference Guide for more information about these attributes.
Last modified date: 12/20/2023