Skip to main content

Config.Gateways

persistent class Config.Gateways extends %Library.Persistent, Config.CommonMultipleMethods, Config.CommonProperties, %SYSTEM.Help

SQL Table Name: Config.Gateways

This class allows you to modify and view the [Gateways] section of the CPF file through programatic APIs. While properties are usually modified through the System Management portal, there may be some occasion where modifying them through the API's is best for your system. In all the Config methods, if you do not specify the CPFFile parameter, the currently active CPF file is used. If you wish to modify a CPF file which is not the currently active one, then specify the CPFFile you wish to modify in the method call.
The Flags parameter does not normally need to be specified; the defaults are usually sufficient for most cases.
You can use either the provided API's (Create/Get/Modify/Delete) to modify the properties by passing in the correct parameters, or use Object syntax to open and directly manipulate the config objects (Open() and Exists()). Most objects created here need only to specify the Name of the object, and 1 or 2 properties since the the defaults are what are commonly used for most cases.

EXAMPLE:

; Use class methods to create an instance
%SYS>s Name="NewGateway"
%SYS>s Properties("Type")="Java"
%SYS>s Properties("Server")="127.0.0.1"
%SYS>s Properties("Port")=53273
%SYS>s Status=##Class(Config.Gateways).Create(Name,.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
IMPORTANT: If you are going to use Objects to manipulate the properties, you must set the Type of the object before you set any of the other properties.
s Obj=##Class(Config.Gateways).%New()
s Obj.Name="NewGateway"
s Obj.Type="Java"
; Set other properties here after Type
s Obj.Server="127.0.0.1"
s Obj.Port=53274
s Status=Obj.%Save()

Property Inventory

Method Inventory

Properties

property Address as %String (MAXLEN = 1023) [ Calculated ];
Server Address
(This property applies only to Remote Gateways.)
Property methods: AddressCompute(), AddressDisplayToLogical(), AddressGet(), AddressIsValid(), AddressLogicalToDisplay(), AddressLogicalToOdbc(), AddressNormalize(), AddressSQLCompute()
property AllowedIPAddresses as %String (MAXLEN = 32000) [ InitialExpression = "127.0.0.1" ];
Which IP address, among the several IP addresses that the machine has, that allows incoming connections. The default is 127.0.0.1. Specify 0.0.0.0 to listen on all IP addresses local to the machine (127.0.0.1, VPN address, etc.). You can also specify a single existing local IP address to restrict the listener to that IP address.
Property methods: AllowedIPAddressesDisplayToLogical(), AllowedIPAddressesGet(), AllowedIPAddressesGetStored(), AllowedIPAddressesIsValid(), AllowedIPAddressesLogicalToDisplay(), AllowedIPAddressesLogicalToOdbc(), AllowedIPAddressesNormalize(), AllowedIPAddressesSet()
property ClassPath as %String (MAXLEN = 32000) [ Calculated ];
CLASSPATH containing the files required to be passed as an argument when starting the JVM. The user should typically provide here the files containing the classes used via the Java-based Gateway. There is no need to include InterSystems' .jar files used by the Java-based Gateway. We assume that the user has properly quoted the classpath and supplied the correct separators for the platform in case of multiple files.
(This property applies only to Java-based Gateways.)
Property methods: ClassPathCompute(), ClassPathDisplayToLogical(), ClassPathGet(), ClassPathIsValid(), ClassPathLogicalToDisplay(), ClassPathLogicalToOdbc(), ClassPathNormalize(), ClassPathSQLCompute()
property ConnectionTimeout as %Integer (MAXVAL = 300, MINVAL = 2) [ InitialExpression = 5 ];
Number of seconds to wait for a connection to be established with the Gateway Server.
Property methods: ConnectionTimeoutDisplayToLogical(), ConnectionTimeoutGet(), ConnectionTimeoutGetStored(), ConnectionTimeoutIsValid(), ConnectionTimeoutLogicalToDisplay(), ConnectionTimeoutNormalize(), ConnectionTimeoutSet(), ConnectionTimeoutXSDToLogical()
property DotNetVersion as %String (MAXLEN = 32) [ Calculated ];
Specified the .NET version to be used. Possible values are N6.0, N5.0, F4.6.2, F3.5. The default is N6.0.
Property methods: DotNetVersionCompute(), DotNetVersionDisplayToLogical(), DotNetVersionGet(), DotNetVersionIsValid(), DotNetVersionLogicalToDisplay(), DotNetVersionLogicalToOdbc(), DotNetVersionNormalize(), DotNetVersionSQLCompute()
property Exec32 as %Boolean [ Calculated ];
On 64-bit platforms, indicates if the Object Gateway server is to be executed as 32-bit (default) or 64-bit.
(This property applies only to .NET Gateways and to 64-bit platforms.)
Property methods: Exec32Compute(), Exec32DisplayToLogical(), Exec32Get(), Exec32IsValid(), Exec32LogicalToDisplay(), Exec32LogicalToXSD(), Exec32Normalize(), Exec32SQLCompute(), Exec32XSDToLogical()
property FilePath as %String (MAXLEN = 1023) [ Calculated ];
Location of the Gateway Server executable. It is used to find the target executable and assemble the command to start the Gateway on a local machine.
If this setting is not specified, the default directory used is ...\dev\dotnet\bin\ under the instance's installation directory, with the appropriate subdirectory selected according to the DotNetVersion setting.
(This property applies only to .NET Gateways.)
Property methods: FilePathCompute(), FilePathDisplayToLogical(), FilePathGet(), FilePathIsValid(), FilePathLogicalToDisplay(), FilePathLogicalToOdbc(), FilePathNormalize(), FilePathSQLCompute()
property InitializationTimeout as %Integer (MAXVAL = 300, MINVAL = 2) [ InitialExpression = 5 ];
Number of seconds to wait for a response during initialization of the Gateway Server.
Property methods: InitializationTimeoutDisplayToLogical(), InitializationTimeoutGet(), InitializationTimeoutGetStored(), InitializationTimeoutIsValid(), InitializationTimeoutLogicalToDisplay(), InitializationTimeoutNormalize(), InitializationTimeoutSet(), InitializationTimeoutXSDToLogical()
property JVMArgs as %String (MAXLEN = 32000) [ Calculated ];
Optional arguments to be passed to the Java Virtual Machine (JVM) to include when assembling the command to start the Gateway.
For example, you can specify system properties: Dsystemvar=value
or set the maximum heap size: Xmx256mb
and so on, as needed.
(This property applies only to Java-based Gateways.)
Property methods: JVMArgsCompute(), JVMArgsDisplayToLogical(), JVMArgsGet(), JVMArgsIsValid(), JVMArgsLogicalToDisplay(), JVMArgsLogicalToOdbc(), JVMArgsNormalize(), JVMArgsSQLCompute()
property JavaHome as %String (MAXLEN = 1023) [ Calculated ];
Location of the JVM (similar to the JAVA_HOME environment variable). It is used to find the target JVM and assemble the command to start the Gateway.
Note: If there is a default JVM on the machine that is usable without the need to specify its location, this setting may be left blank.
(This property applies only to Java-based Gateways.)
Property methods: JavaHomeCompute(), JavaHomeDisplayToLogical(), JavaHomeGet(), JavaHomeIsValid(), JavaHomeLogicalToDisplay(), JavaHomeLogicalToOdbc(), JavaHomeNormalize(), JavaHomeSQLCompute()
property LogFile as %String (MAXLEN = 1023);
Fully qualified name of a file to log all communication between InterSystems IRIS and the Gateway Server. Usually this setting should be left blank, and used only for trouble-shooting.
Property methods: LogFileDisplayToLogical(), LogFileGet(), LogFileGetStored(), LogFileIsValid(), LogFileLogicalToDisplay(), LogFileLogicalToOdbc(), LogFileNormalize(), LogFileSet()
property Name as %String [ Required ];
Name of the Gateway
Property methods: NameDisplayToLogical(), NameGet(), NameGetStored(), NameIsValid(), NameLogicalToDisplay(), NameLogicalToOdbc(), NameNormalize(), NameSet()
property Port as %Integer (MAXVAL = 65535, MINVAL = 1) [ Required ];
TCP port number for communication between the Gateway Server and the proxy classes in InterSystems IRIS.
Property methods: PortDisplayToLogical(), PortGet(), PortGetStored(), PortIsValid(), PortLogicalToDisplay(), PortNormalize(), PortSet(), PortXSDToLogical()
property PythonOptions as %String (MAXLEN = 32000) [ Calculated ];
Optional Python options to be passed to the Python interpreter to include when assembling the command to start the Gateway.

(This property applies only to Python Gateways.)
Property methods: PythonOptionsCompute(), PythonOptionsDisplayToLogical(), PythonOptionsGet(), PythonOptionsIsValid(), PythonOptionsLogicalToDisplay(), PythonOptionsLogicalToOdbc(), PythonOptionsNormalize(), PythonOptionsSQLCompute()
property PythonPath as %String (MAXLEN = 1023) [ Calculated ];
Location of the Python Executable Path. It is used to find the target Python interpreter and get the command to start the Gateway.
Note: If there is a default Python interpreter on the machine that is usable without the need to specify its location, this setting may be left blank.
(This property applies only to Python Gateways.)
Property methods: PythonPathCompute(), PythonPathDisplayToLogical(), PythonPathGet(), PythonPathIsValid(), PythonPathLogicalToDisplay(), PythonPathLogicalToOdbc(), PythonPathNormalize(), PythonPathSQLCompute()
property PythonSDKVersion as %String (MAXLEN = 64) [ Calculated ];
Version of the Python SDK to use.
(This property applies only to Python Gateways.)
Property methods: PythonSDKVersionCompute(), PythonSDKVersionDisplayToLogical(), PythonSDKVersionGet(), PythonSDKVersionIsValid(), PythonSDKVersionLogicalToDisplay(), PythonSDKVersionLogicalToOdbc(), PythonSDKVersionNormalize(), PythonSDKVersionSQLCompute()
property Resource as %String (MAXLEN = 64, MINLEN = 0) [ InitialExpression = $$$GatewayObjectResourceName ];
The Resource name that controls access to this gateway.
If no resource is defined, then it is a public gateway which anyone can use.
Property methods: ResourceDisplayToLogical(), ResourceGet(), ResourceGetStored(), ResourceIsValid(), ResourceLogicalToDisplay(), ResourceLogicalToOdbc(), ResourceNormalize(), ResourceSet()
property SSLConfigurationClient as %String (MAXLEN = 64);
Name of entry in Security.SSLConfigs class to be used for Client TLS/SSL
Property methods: SSLConfigurationClientDisplayToLogical(), SSLConfigurationClientGet(), SSLConfigurationClientGetStored(), SSLConfigurationClientIsValid(), SSLConfigurationClientLogicalToDisplay(), SSLConfigurationClientLogicalToOdbc(), SSLConfigurationClientNormalize(), SSLConfigurationClientSet()
property SSLConfigurationServer as %String (MAXLEN = 64);
Name of entry in Security.SSLConfigs class to be used for Server TLS/SSL
Property methods: SSLConfigurationServerDisplayToLogical(), SSLConfigurationServerGet(), SSLConfigurationServerGetStored(), SSLConfigurationServerIsValid(), SSLConfigurationServerLogicalToDisplay(), SSLConfigurationServerLogicalToOdbc(), SSLConfigurationServerNormalize(), SSLConfigurationServerSet()
property Type as %String [ Required ];
Type of the Object Gateway. It can have one of the following values:
Type = "Remote" for remote connections
Type = "Java" for Gateway for Java
Type = "XSLT" for Gateway for XSLT
Type = "JDBC" for Gateway for JDBC
Type = "ODBC" for Gateway for ODBC
Type = "ML" for Gateway for Integrated ML
Type = ".NET" for Gateway for .NET
Type = "Python" for Gateway for Python
Type = "R" for Gateway for R
Note: JDBC, Java, IntegratedML, XSLT, and R gateways are all Java-based.
Property methods: TypeDisplayToLogical(), TypeGet(), TypeGetStored(), TypeIsValid(), TypeLogicalToDisplay(), TypeLogicalToOdbc(), TypeNormalize()
property UseSharedMemory as %Boolean [ InitialExpression = 1 , Required ];
Use shared memory for connection if available.
Property methods: UseSharedMemoryDisplayToLogical(), UseSharedMemoryGet(), UseSharedMemoryGetStored(), UseSharedMemoryIsValid(), UseSharedMemoryLogicalToDisplay(), UseSharedMemoryLogicalToXSD(), UseSharedMemoryNormalize(), UseSharedMemorySet(), UseSharedMemoryXSDToLogical()
property VerifySSLHostName as %Boolean [ InitialExpression = 0 ];
Should TLS/SSL client do Host Name Verification
Property methods: VerifySSLHostNameDisplayToLogical(), VerifySSLHostNameGet(), VerifySSLHostNameGetStored(), VerifySSLHostNameIsValid(), VerifySSLHostNameLogicalToDisplay(), VerifySSLHostNameLogicalToXSD(), VerifySSLHostNameNormalize(), VerifySSLHostNameSet(), VerifySSLHostNameXSDToLogical()
property passphraseList as %String [ Transient ];
Property methods: passphraseListDisplayToLogical(), passphraseListGet(), passphraseListIsValid(), passphraseListLogicalToDisplay(), passphraseListLogicalToOdbc(), passphraseListNormalize(), passphraseListSet()

Methods

method AddressSet(value As %String) as %Status
method ClassPathSet(value As %String) as %Status
classmethod Delete(name As %Library.String, ByRef CPFFile As %Library.String = "", Flags As %Library.Integer = $$$CPFSave+$$$CPFWrite+$$$CPFActivate) as %Status
Delete an External Language Server definition
Parameters:
Name - Name of the ELS to delete.

Return values:
%Status
method DotNetVersionSet(value As %String) as %Status
method Exec32Set(value As %String) as %Status
method FilePathSet(value As %String) as %Status
method JVMArgsSet(value As %String) as %Status
method JavaHomeSet(value As %String) as %Status
method PythonOptionsSet(value As %String) as %Status
method PythonPathSet(value As %String) as %Status
method PythonSDKVersionSet(value As %String) as %Status
method TypeSet(value As %String) as %Status

Queries

query List(Names As %String = "*", CPFFile As %String = "", Flags As %Integer = 0, Format As %Integer = 0)
Selects Name As %String, Type As %String, Port As %String, Resource As %String, UseSharedMemory As %String, LogFile As %String, JavaHome As %String, ClassPath As %String, JVMArgs As %String, FilePath As %String, Exec32 As %String, DotNetVersion As %String, PythonPath As %String, PythonOptions As %String, PythonSDKVersion As %String, Address As %String, AllowedIPAddresses As %String, ConnectionTimeout As %Integer, InitializationTimeout As %Integer, SSLConfigurationServer As %String, SSLConfigurationClient As %String, VerifySSLHostName As %Boolean
List Gateways in a CPF file.

Parameters:
Names - Comma separated list of Gateway names
"*" - All records match
"String,String1" - Any records matching one of these elements
"String*" - Any record starting with "String"
"String,String1*,String2" - Any record matching one of these elements, or starting with "String1"
CPFFile - Name of the CPF file to use. A null string means use the active CPF file.
Flags - Currently ignored.
Format
0 - Standard report list format
1 - ^CONFIG global format
2 - CPF file format format
Note: This query may change in future versions
query ListShort(Filter As %String = "", CPFFile As %String = "", Flags As %Integer = 0, Format As %Integer = 0)
Selects Name As %String, Port As %String, Type As %String
List Gateways in a CPF file.

Parameters:
Names - Comma separated list of Gateway names
"*" - All records match
"String,String1" - Any records matching one of these elements
"String*" - Any record starting with "String"
"String,String1*,String2" - Any record matching one of these elements, or starting with "String1"
CPFFile - Name of the CPF file to use. A null string means use the active CPF file.
Flags - Currently ignored.
Format
0 - Standard report list format
1 - ^CONFIG global format
2 - CPF file format format
Note: This query may change in future versions

Indexes

index (CPFNameSectionHeaderName on CPFName,SectionHeader,Name) [IdKey, Type = key, Unique];
Index methods: CPFNameSectionHeaderNameCheck(), CPFNameSectionHeaderNameDelete(), CPFNameSectionHeaderNameExists(), CPFNameSectionHeaderNameOpen(), CPFNameSectionHeaderNameSQLCheckUnique(), CPFNameSectionHeaderNameSQLExists(), CPFNameSectionHeaderNameSQLFindPKeyByConstraint(), CPFNameSectionHeaderNameSQLFindRowIDByConstraint()

Inherited Members

Inherited Properties

Inherited Methods

Storage

Storage Model: Storage (Config.Gateways)

^|"^^"_$ZU(12)|SYS("CONFIG")(ID)
=
AllowedIPAddresses
ConnectionTimeout
Field1
Field2
Field3
InitializationTimeout
LogFile
Port
Resource
Type
UseSharedMemory
SSLConfigurationServer
SSLConfigurationClient
VerifySSLHostName
Comments
FeedbackOpens in a new tab