%SYS
Gateways Class Reference

This class allows you to modify and view the [Gateways] section of the CPF file through programatic APIs. More...

Inheritance diagram for Gateways:
Collaboration diagram for Gateways:

Static Public Member Functions

_.Library.Status Delete (_.Library.String name)
 Delete an External Language Server definition. More...
 
- Static Public Member Functions inherited from CommonMultipleMethods
_.Library.Status Create (_.Library.String Name, _.Library.String Properties, _.Library.String CPFFile, _.Library.Integer Flags)
 Create a section instance in a CPF file. More...
 
_.Library.Status Delete (_.Library.String Name, _.Library.String CPFFile, _.Library.Integer Flags)
 Delete a section instance from a CPF file. More...
 
_.Library.Boolean Exists (_.Library.String Name, _.Library.ObjectHandle Obj, _.Library.Status Status, _.Library.String CPFFile, _.Library.Integer Flags)
 Database exists. More...
 
_.Library.Status Get (_.Library.String Name, _.Library.String Properties, _.Library.String CPFFile, _.Library.Integer Flags)
 Get a section instances properties from a CPF file. More...
 
_.Library.Status GetList (_.Library.String Name, _.Library.String CPFFile, _.Library.Integer Flags)
 Returns the properties from a section instance in a CPF file by value in $list format
More...
 
_.Library.Status Modify (_.Library.String Name, _.Library.String Properties, _.Library.String CPFFile, _.Library.Integer Flags)
 Modify a section instance in a CPF file. More...
 
_.Library.ObjectHandle Open (_.Library.String Name, _.Library.String CPFFile, _.Library.Integer concurrency, _.Library.Status Status, _.Library.Integer Flags)
 Open a section instance object in a CPF file. More...
 

Public Attributes

 Address
 Server Address
More...
 
 AllowedIPAddresses
 Which IP address, among the several IP addresses that the machine has, that allows incoming connections. More...
 
 ClassPath
 CLASSPATH containing the files required to be passed as an argument when starting the JVM. More...
 
 ConnectionTimeout
 Number of seconds to wait for a connection to be established with the Gateway Server. More...
 
 DotNetVersion
 Specified the .NET version to be used. More...
 
 Exec32
 On 64-bit platforms, indicates if the Object Gateway server is to be executed as 32-bit (default) or 64-bit. More...
 
 FilePath
 Location of the Gateway Server executable. More...
 
 InitializationTimeout
 Number of seconds to wait for a response during initialization of the Gateway Server. More...
 
 JVMArgs
 Optional arguments to be passed to the Java Virtual Machine (JVM) to include when assembling the. More...
 
 JavaHome
 Location of the JVM (similar to the JAVA_HOME environment variable). More...
 
 LogFile
 Fully qualified name of a file to log all communication between InterSystems IRIS and the Gateway Server. More...
 
 Name
 Name of the Gateway. More...
 
 Port
 TCP port number for communication between the Gateway Server and the proxy classes in InterSystems IRIS. More...
 
 PythonOptions
 Optional Python options to be passed to the Python interpreter to include when assembling the. More...
 
 PythonPath
 Location of the Python Executable Path. More...
 
 PythonSDKVersion
 Version of the Python SDK to use. More...
 
 Resource
 The Resource name that controls access to this gateway. More...
 
 SSLConfigurationClient
 Name of entry in Security.SSLConfigs class to be used for Client TLS/SSL. More...
 
 SSLConfigurationServer
 Name of entry in Security.SSLConfigs class to be used for Server TLS/SSL. More...
 
 Type
 Type of the Object Gateway. More...
 
 UseSharedMemory
 Use shared memory for connection if available. More...
 
 VerifySSLHostName
 Should TLS/SSL client do Host Name Verification. More...
 
 passphraseList
   More...
 
- Public Attributes inherited from CommonProperties
 CPFFile
 CPF file which the object maps to. More...
 
 Comments
 Embedded comments in the CPF file. More...
 
 Flags
 Flags governing how the object is processed when Save() is called. More...
 
 Name
 Name of the object instance. More...
 

Additional Inherited Members

- Static Public Attributes inherited from CommonMultipleMethods
 CAPITALNAME = None
 Determines if the Name specified in the index should be capitalized. More...
 
 SECTIONTYPE = None
 This parameter governs how the class creates audit records. More...
 
- Static Public Attributes inherited from CommonProperties
 DOMAIN = None
 This class contains properties which are included by classes which manipulate sections in the CPF file. More...
 

Detailed Description

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()
    

Member Function Documentation

◆ Delete()

_.Library.Status Delete ( _.Library.String  name)
static

Delete an External Language Server definition.


Parameters:
Name - Name of the ELS to delete.

Return values:
Status

Member Data Documentation

◆ Address

Address

Server Address

(This property applies only to Remote Gateways.)  

◆ AllowedIPAddresses

AllowedIPAddresses

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.
 

◆ ClassPath

ClassPath

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.)  

◆ ConnectionTimeout

ConnectionTimeout

Number of seconds to wait for a connection to be established with the Gateway Server.

 

◆ DotNetVersion

DotNetVersion

Specified the .NET version to be used.

Possible values are N6.0, N5.0, F4.6.2, F3.5.

The default is N6.0.  

◆ Exec32

Exec32

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.)  

◆ FilePath

FilePath

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.)  

◆ InitializationTimeout

InitializationTimeout

Number of seconds to wait for a response during initialization of the Gateway Server.

 

◆ JVMArgs

JVMArgs

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.)  

◆ JavaHome

JavaHome

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.)  

◆ LogFile

LogFile

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.  

◆ Name

Name

Name of the Gateway.

 

◆ Port

Port

TCP port number for communication between the Gateway Server and the proxy classes in InterSystems IRIS.

 

◆ PythonOptions

PythonOptions

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.)  

◆ PythonPath

PythonPath

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.)  

◆ PythonSDKVersion

PythonSDKVersion

Version of the Python SDK to use.


(This property applies only to Python Gateways.)  

◆ Resource

Resource

The Resource name that controls access to this gateway.


If no resource is defined, then it is a public gateway which anyone can use.
 

◆ SSLConfigurationClient

SSLConfigurationClient

Name of entry in Security.SSLConfigs class to be used for Client TLS/SSL.

 

◆ SSLConfigurationServer

SSLConfigurationServer

Name of entry in Security.SSLConfigs class to be used for Server TLS/SSL.

 

◆ Type

Type

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.  

◆ UseSharedMemory

UseSharedMemory

Use shared memory for connection if available.


 

◆ VerifySSLHostName

VerifySSLHostName

Should TLS/SSL client do Host Name Verification.

 

◆ passphraseList

passphraseList