Create an object that extends %String, and override the VALUELIST with a class method that returns a string with comma-separated values.

Example:

Class App.X509CredentialAlias Extends %String
{

Parameter VALUELIST = {..GetValueList()};
ClassMethod GetValueList() As %String
{
	Set sql = "SELECT LIST(Alias) As ValueList FROM %SYS.X509Credentials"
	Set resultSet = ##class(%SQL.Statement).%ExecDirect(,sql)

	If (resultSet.%Next())
	{
		Return ","_resultSet.ValueList
	}
	Return ""
}

}

Your BPL property must be the type of the created object

Class App.bp.Test Extends Ens.BusinessProcessBPL [ ClassType = persistent, ProcedureBlock ]
{

Property Example As App.X509CredentialAlias;
Parameter SETTINGS = "Example:App";
/*
 my BPL
*/
}

Class example

Class Test.XmlContent Extends (%RegisteredObject%XML.Adaptor) 
{  
	Parameter XMLNAME = "Demo";  
	Property FieldInfoString As %String(MAXLEN = "");  
	Property FieldInfoEscape As %String(CONTENT = "ESCAPE", MAXLEN = "");  
	Property FieldInfoMixed As %String(CONTENT = "MIXED", MAXLEN = "");
}


Execution example

Set t = ##class(Test.XmlContent).%New()
Set t.FieldInfoString = "Written From : 09 , US & Test1" 
Set t.FieldInfoEscape = "Written From : 09 , US & Test1"
Set t.FieldInfoMixed = "Written From : 09 , US & Test1"

Do t.XMLExportToString(.String)


Output

<Demo>  
	<FieldInfoString><![CDATA[Written From : 09 , US & Test1]]></FieldInfoString>
	<FieldInfoEscape>Written From : 09 , US &amp; Test1</FieldInfoEscape>
	<FieldInfoMixed>Written From : 09 , US & Test1</FieldInfoMixed>
</Demo>

A business service is responsible for the following activities:

  • Waiting for a specific external event (such as notification from an application, receipt of a TCP message, etc.).
  • Reading, parsing, and validating the data accompanying such an event,
  • Returning, if required, an acknowledgment to the external application indicating that the event was received.
  • Creating an instance of a request message and forwarding it on to the appropriate business process or business operation for processing.

Link: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls...

Try this

Set json = "{produto:""CHP0001"",Local:{IDMV: ""000000001"",LOTE: """",DtFabric: ""null"",DtVenc: ""null"",Atributo06: ""0000000002"",Atributo07: """",QtdeDisp: ""10.00000"",QtdeAloc: ""0.00000"",QtdeSep: ""0.00000"",QtdeTotal: ""10.00000"",Status: ""OK"",Motivo: """"}}" 

DO ##class(%ZEN.Auxiliary.jsonProvider).%ConvertJSONToObject(json,"",.pObject,"") 

zw pObject

pObject=18@%ZEN.proxyObject ; <OREF>
+----------------- general information ---------------
| oref value: 18
| class name: %ZEN.proxyObject
| reference count: 2
+----------------- attribute values ------------------
| %changed = 1
| %data("Local") = "16@%ZEN.proxyObject"
| %data("produto") = "CHP0001"
| %index = ""
+-----------------------------------------------------

https://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?...

ODBC driver

Install the Microsoft ODBC driver according to your Linux operating system version by following the tutorial below:

https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15

 The driver is usually installed here:

/opt/microsoft/msodbcsql/lib64

 

Symbolic Link

The liblber-2.4.so.2 file is usually located in the /usr/lib/x86_64-linux-gnu/ folder.

If not, use the command to find the location

find / -name liblber-2.4.so.2

After finding, create symbolic link in the <iris-install-dir>/bin folder using the command below:

ln -s /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 liblber-2.4.so.2

 

ODBC Gateway 64-bit

The Microsoft ODBC connection requires a 64-bit Gateway connector, and the current one is not able to make the connection, so you must run the following commands in the <iris-install-dir>/bin folder:

 

Backup the default Gateway:

mv odbcgateway.so odbcgateway.so.old

 

Copy Gateway 64bits, and leave it as the main gateway:

cp odbcgatewayur64.so odbcgateway.so

 

Irisodbc.ini Configuration

Change the <iris-install-dir>/mgr/irisodbc.ini file by adding the information below:

 And add the following setting

[ODBC Data Sources]

Libracom = <NAME>

 

[ <NAME> ]

Driver = /opt/microsoft/msodbcsql /lib64/libmsodbcsql-13.1.so.9.2

Database = <DATABASE>

Server = <HOST>

Port = <PORT>

UID = < USER >

PWD = < PASS >

locale = en_US @ collation = binary

 

 

SQL Gateway Connections

For Gateway connections the configuration created in the List must be displayed.

After configuration, click test connection to verify that it worked.

The message should appear: Connection Succeeded

 

 

In your Service Rest, insert one hang like this:

Method OnProcessInput(pInput As %CharacterStream, Output pOutput As %Stream.Object) As %Status
{
//20 seconds
    hang 20 break
    Set tSC = $System.Status.OK() 

In your Production you need have a port of your service like this:

Use Postman to send a request like this: http://server:port

In your Studio, Attach  your process after you send a request from Postman, and wait the process be attached.