Run-time properties for CORBA clients and servers

This topic provides reference information about the properties that you can set to control the run-time environment of CORBA C++ clients and servers. Each property is listed in the following form:

property_name=value_type
[default_value] A description of the property where
  • property_name is the name of the property.
  • value_type is the type of value that the property can have.
  • [default value] is the default value of the property (only shown if the property has a default value).

Client and Server general ORB run-time properties

You can specify the following general ORB run-time properties for both clients and servers:

com.ibm.CORBA.bootstrapHostName=host_name
[current host] The name of the host on which the bootstrap agent runs. This host name is used with the com.ibm.CORBA.bootstrapPort property to access the bootstrap agent.
com.ibm.CORBA.bootstrapPort=port_number
[2809] The number of the port that the bootstrap agent uses to communicate with clients and servers. This property is an integer port number, in the range 0 through 65536. This port number is used with the com.ibm.CORBA.bootstrapHostName property to access the bootstrap agent.
com.ibm.CORBA.RequestTimeout=number_seconds
[180] The time, in seconds, that a request waits for a response before timing out and issuing an error that indicates NO RESPONSE. If this property is set to 0 (zero), requests wait indefinitely until a response is received. This property is integer value greater than or equal to 0.
com.ibm.CORBA.initServices=list_of_service_names
This property specifies the set of services which should be loaded by the ORB during process initialization. This property is a blank-separated list of words which represent service names. For each service name listed in this property, the ORB expects to find a corresponding dllName property (see below) which specifies the name of the DLL or shared library to be loaded for that service during process initialization.
com.ibm.CORBA.service_name.dllName=library_name
This property specifies the name of the DLL or shared library to be loaded by the ORB during process initialization to enable the use of a particular service. For example, if you wanted to use services called my_service1 and my_service2, then you would set the following properties:
com.ibm.CORBA.initServices=my_service1 my_service2
com.ibm.CORBA.my_service1.dllName=service1.dll
com.ibm.CORBA.my_service2.dllName=service2.dll

Note: The above example assumes that the my_service1 service is implemented in service1.dll, and the my_service2 service is implemented in service2.dll.

com.ibm.CORBA.eMNumThreads=number_threads
[3] The size of the ORB's event manager thread pool. The event manager is the component which handles all incoming TCP/IP communications. Increasing the value of this property may improve performance for servers which receive an excessive number of connections from clients. This property is an integer value greater than or equal to 3.
com.ibm.CORBA.maxHops=number_of_location_forwards
[5] The maximum number of location forwards (i.e. hops) that the client or server should follow before aborting object location. This property is an integer greater than or equal to 1.
com.ibm.CORBA.processAlias=string
[DefaultClient] This property is used to provide a logical name for the client or server process. This property can be set to any name which is meaningful to the user. For servers, the ORB will, by default, set the process alias so that it matches the name of the implementation def used for the server, so it should not be necessary to set this property for servers. For clients, however, the ORB does not set a default value for this property. Note that the process alias is used only by the RAS message logger in the message header to indicate the logical name of the process which logged the message.
com.ibm.CORBA.processType=string
[client] This property is used to specify whether the process is a client or server. The valid values for this property are client and server. This property is only used by the RAS message logger in the message header to indicate the type of process (client, server) which logged the message. Note that the default value of this property is client, but the ORB will automatically set this property to server if the CORBA::ORB::BOA_init() function is called (which means that the process must be a server).

Server-specific ORB run-time properties

You can specify the following ORB run-time properties for servers:

com.ibm.CORBA.exportedHostName=host_name
The hostname string that should be included in object references (IORs) exported by the server. The value is a TCP/IP hostname of up to 256 ASCII characters. Normally, the C++ ORB uses the dotted-decimal form of the hostname, but this property can be used to override the dotted-decimal form with an alternate name. This might be useful in situations where the server is operating behind a firewall, and you do not want the dotted-decimal hostname published outside the firewall.
com.ibm.CORBA.serverListenPort=port_number
[0] The port number on which the server should listen for incoming requests from clients. This enables the server to support a static firewall scenario, in which the firewall enables use of a set of secure ports. If you leave this property to default to 0 (zero), the server is automatically assigned a number for it's listening port.
com.ibm.CORBA.iiopVersion=iiop_version
[1.2] The default GIOP/IIOP protocol version that the ORB uses to export object references. This property effectively specifies the highest level of GIOP/IIOP that the ORB should support. It can be used to downgrade the level of GIOP/IIOP used by the WebSphere ORB in order to enhance interoperability with non-WebSphere ORBs. This property can be set to 1.0, 1.1, or 1.2 (for IIOP 1.0, IIOP 1.1, or IIOP 1.2, respectively).
com.ibm.CORBA.numWorkerThreads=number_threads
[3] The size of the ORB thread pool in which servant objects process method invocations. This property is an integer greater than 0. When the ORB receives a request, it activates a thread from the appropriate pool for the target object to service the request.
com.ibm.CORBA.workerThreadStackSize=number_bytes
[65536] The size, in bytes, of the thread stack used when creating new threads in the server's thread pool. This property is an integer greater than 65536 bytes.
com.ibm.CORBA.implDbDir=directory_name
This property specifies the name of the directory containing the ORB's implementation repository. If this property is not specified, then the ORB will store the implementation repository in the implrep directory within the ORB's top-level installation directory (identified by the WASORBTOP environment variable).
com.ibm.CORBA.irUserid=string
This property specifies the user id to be used by the Interface Repository (IR) server when accessing a remote database. This property is only used if the IR database is configured as a remote database.
com.ibm.CORBA.irPassword=string
This property specifies the password to be used by the Interface Repository (IR) server when accessing a remote database. This property is only used if the IR database is configured as a remote database.
com.ibm.CORBA.TCPIP.lsdPort
[2809] The listening port to be used by the location service daemon (wasorbd).
com.ibm.CORBA.TCPIP.lsdHostName
[current host]The name of the host on which the location service daemon (wasorbd) is running.

Client and server codeset translation run-time properties

You can specify the following codeset-related ORB run-time properties for both clients and servers:

com.ibm.CORBA.translationEnabled=yes_no
[no] This property specifies whether or not the client or server should perform codeset translation for character data received in remote messages. This property can have the following values:
no
Codeset translation is not performed, and the other codeset-related properties are ignored.
yes
Codeset translation is performed. Also, consider the following points:
  • If you do not specify a value for the com.ibm.CORBA.nativeWCharSet property, then the ORB assumes that the application will not use wide character data because a wide character code set was not specified.
  • Codeset translation is not supported by the IIOP 1.0 protocol.
com.ibm.CORBA.nativeCharCodeset=codeset_name_or_number
This property specifies the native codeset used by the application for character and string data. If this property is not set, then the ORB will attempt to determine the native character codeset itself. If this property is set, the value should be one of the following:
  • A decimal integer value representing an OSF (Open Software Foundation) codeset number (for example, 65537).
  • A hexadecimal integer value representing an OSF codeset number (for example, 0x0010001).
  • A string specifying the primary name of the codeset (for example, ISO-8859-1)
com.ibm.CORBA.nativeWCharCodeset=codeset_name_or_number
This property specifies the native codeset used by the application for wide character data This property needs to be set only if the application actually uses wide character data within remote method invocations. If set, the value should be a decimal or hexadecimal OSF codeset number, or a codeset name, similar to the nativeCharCodeset property above. Note:If this property is set, but does not match the native process codeset of the operating system, codeset translations of wide character data will likely fail.
com.ibm.CORBA.charCCS=codeset_list
This is a blank-separated list of the codesets to and from which the process can translate character data. Each codeset is a decimal or hexadecimal OSF codeset number, or a codeset name.
com.ibm.CORBA.wcharCCS=codeset_list
This is a blank-separated list of the codesets to and from which the process can translate wide character data. Each codeset is a decimal or hexadecimal OSF codeset number, or a codeset name.

Client and server trace run-time properties

You can set the following trace-related ORB run-time properties for both clients and servers. Please note that these trace properties should only be used in situations where you need to diagnose a problem or otherwise capture very detailed information about the operation of the ORB and the application. The use of these trace properties will result in performance degradation, so they should not be used during normal operation.

com.ibm.CORBA.orbCommunicationsTraceLevel=trace_level
[none] This property controls the amount of trace data that is logged for ORB communications between the current process and other processes. This property has one of the following values. Each succeeding value increases the amount of information that is logged.
none or 0 (zero)
Trace data is not logged.
basic or 1
This setting results in a hexadecimal dump of the contents of each GIOP message that is sent or received by the process.
intermediate or 2
This setting includes the basic setting above, plus brief formatting of each GIOP message sent or received by the process. Brief formatting includes some basic information about the GIOP message: the GIOP version number, the message type (e.g. request, reply, etc.), the byte order (i.e. big endian, little endian, etc.), the message length, and the request id value. This is usually enough information to perform problem diagnosis in most situations.
advanced or 3
This setting includes the intermediate setting above, plus detailed formatting of each GIOP message sent or received by the process. Detailed formatting includes the formatting of object references, tagged components, tagged profiles, and service contexts contained in GIOP messages.
com.ibm.CORBA.orbMethodDispatchTraceLevel=trace_level
[none] This property is used to enable the tracing of methods dispatched by the object adapter within a server. This property has one of the following values.
none or 0 (zero)
Trace data is not logged.
basic or 1
This setting turns on method dispatch tracing.
com.ibm.CORBA.orbNLSTraceLevel=trace_level
[none] This property controls the amount of codeset translation-related trace data that is logged by the ORB. This property has one of the following values:
none or 0 (zero)
Trace data is not logged.
basic or 1
This setting enables the tracing of basic operations related to codeset conversions, including information about codeset negotiation between a client and server, as well as the logging of configuration information (i.e. the native codesets configured for the client or server).
intermediate or 2
This setting provides the basic setting above, plus detailed information about codeset conversion operations.

Client and server message logging properties

The following properties are supported by the message logger implementation provided with the ORB. These properties can be set for both clients and servers.

com.ibm.CORBA.logger.directoryName=directory_name
[service] The name of the directory which contains the message log and trace files. The value of this property is appended to the top-level installation directory, as specified by the WASORBTOP environment variable.
com.ibm.CORBA.logger.logFileName=file_name
[activity.txt] The name of the message log file produced by the message logger. This file is stored in the directory specified by the com.ibm.CORBA.logger.directoryName property.
com.ibm.CORBA.logger.maxLogFileSize=number_kbytes
[1024] The maximum size (in kilobytes) of the message log file. A value of 0 indicates no limit. Once the message log file reaches its maximum size, it is renamed to an alternate name, then the ORB continues to log messages to the orginal message log file. The alternate name is obtained by adding a .prev suffix to the message log filename. For example, if messages are being logged to a file called activity.txt, then when this file exceeds the maximum file size, it is renamed to activity.txt.prev, then the ORB continues logging messages to activity.txt.
com.ibm.CORBA.logger.logToFile=yes_no
[no] This property specifies whether or not the message logger should write messages to the message log file. The valid values are yes and no.
com.ibm.CORBA.logger.logToConsole=yes_no
[no] This property specifies whether or not the message logger should display messages on the console (i.e. the process's standard output). The valid values are yes and no.
com.ibm.CORBA.logger.logFilter=log_filter_value
[0] This property is used to selectively filter messages based on the message severity. The following values can be used:
0
All messages (informational, warning, error) are logged. This effectively turns off filtering.
1
Only warning and error messages are logged. This setting filters out informational messages.
2
Only error messages are logged. This setting filters out informational and warning messages.
com.ibm.CORBA.logger.fileDetail=yes_no
[yes] This property specifies whether detailed or brief messages are written to the message log file. This property can have the following values:
no
Brief messages are written to the message log. A brief message consists of only the timestamp and message text.
yes
Detailed messages are written to the message log. A detailed message includes the timestamp and message text, as well as other information such as the process id, the thread id, hostname, message severity, and source filename and line number which logged the error.
com.ibm.CORBA.logger.consoleDetail=yes_no
[no] This property specifies whether detailed or brief messages are displayed on the console (i.e. the process's standard output). This property can have the following values:
no
Brief messages are displayed on the console.
yes
Detailed messages are displayed on the console.
com.ibm.CORBA.logger.traceToConsole=yes_no
[no] This property specifies whether or not the message logger should display trace messages on the console (i.e. the process's standard output). Valid values for this property are yes and no.
com.ibm.CORBA.logger.traceToFile=yes_no
[yes] This property specifies whether or not the message logger should write trace messages to a trace file. Valid values for this property are yes and no.
com.ibm.CORBA.logger.traceFileDetail=yes_no
[yes] This property specifies whether detailed or brief trace messages are written to the trace file. This property can have the following values:
no
Brief trace messages are written to the trace file.
yes
Detailed trace messages are written to the trace file.
com.ibm.CORBA.logger.traceConsoleDetail=yes_no
[no] This property specifies whether detailed or brief trace messages are displayed on the console (i.e. the process's standard output). This property can have the following values:
no
Brief trace messages are diplayed on the console.
yes
Detailed trace messages are displayed on the console.
com.ibm.CORBA.logger.multipleTraceFiles=yes_no
[no] This property specifies whether or not multiple trace files should be produced for each process (one trace file per thread of execution). If this property is set to yes, then the message logger will produce multiple trace files per process (i.e. one trace file per thread of execution within the process). If the property is set to no, then the message logger will produce one trace file per process (i.e. the trace messages for all threads are logged to a single file for that process).

Client and server transaction support properties

You can specify the following transaction support properties for clients:

com.ibm.CORBA.transactionEnabled=yes_no
[yes] This property specifies whether or not the transaction service is enabled for this client. The possible values for this property are yes or no.
com.ibm.CORBA.transactions.defaultTimeout=number_seconds
[300] The default time, in seconds, after which a top-level transaction is rolled back if it has not completed. Because a transaction may hold locks on database records, it is important to ensure that all transactions complete within a reasonable period of time. This is especially important in a distributed environment where a transaction may be originated by a non-recoverable client. If such a client dies without ending all the transactions it started, then those transactions should have a period of time after which they are automatically rolled back by the server on which they were created.

This timeout value is the time from when the originator started the top-level transaction to the time when the originator must request that the transaction be committed or rolled back. It is an integer number of seconds greater than 0. If you set this property to 0 (zero), the top-level transaction never times out in the lifetime of the server on which the transaction was created.

If the application server's default transaction timeout is set to 0 (zero), transactions started using the CosTransactions::Current interface do not have a time limit set. An application program can set a time limit by calling the set_timeout() operation on the CosTransactions::Current object, passing the time limit required as a parameter.

com.ibm.CORBA.transactions.deferredBegin=deferbegin
[always] This property is used to control whether clients should attempt to defer the begin of transactions until the first remote business method is called. In general, it is desirable for clients to have a transaction created on the same application server as at least one of the Enterprise JavaBean objects. The transaction service provides the ability to defer the creation of a transaction until the first remote business method is called, allowing the transaction service on the remote application server to create the transaction during the processing of that first business method. However, the transaction service on the remote application server must be capable of supporting this function.

This property can be set to one of the following values:

always
Always defer the creation of a transaction. This setting can be used even if WebSphere Application Servers are started with their default property settings. WebSphere Application Servers handle deferred starts by default, but do not indicate that they support this capability.
never
Never defer the creation of a transaction. When a client application requests that a transaction be started, a transaction factory is obtained using a factory finder. The factory finder may be specified with the factory finder property. If a value is not specified for the factory finder property, an arbitrary application server is chosen. This setting may be detrimental to performance when communicating with application servers that can support deferred begin, because transactions may be created on an application server that is not otherwise involved in the transaction.
serverDependent
Defer the creation of a transaction depending on the capability of the remote server. The transaction's client code determines the capability of the remote transaction service to support the deferred begin protocol. The client determines the capability of the remote server from information contained in the target object's proxy object, so no remote flows are required for this test.

WebSphere Application Servers that are started specifying the property com.ibm.ejs.jts.jts.ControlSet.nativeOnly=false export this information in the target object's proxy. Note: This is not the default startup property for the application server.

com.ibm.CORBA.transactions.factoryFinder=string
The name to be used to find a transaction factory for transactional clients. The value is the fully-qualified path name from the local root, which can be used in a resolve to get the factory desired. For example, one possible value to specify is:
com.ibm.CORBA.transactionfactoryFinder=node/servers/xyzServer
You can specify any transaction factory that is bound into the name space. Through the use of this property, you can direct the search for a particular transaction factory. The above example finds a factory on the local node (host) in server xyzServer. The format of the property value may be either of the following:
node/servers/servername
or
domain/nodes/nodename/servers/servername
where nodename is the name of one of the nodes in the configured WebSphere domain and servername is the name of a server. If a null value is supplied, a search starts on the local bootstrap node and if no factory is found, the search then proceeds throughout the domain, searching all configured nodes and servers for an available transaction factory. Thus a null default value on a large configuration may incur a performance overhead.

Note: This property is only used if transactions are not deferring the start of a transaction until the first business method.

Client security properties

In addition to configuring security properties as shown below, you must also configure the following property to include security:

com.ibm.CORBA.initServices=transactions olt security

com.ibm.CORBA.securityEnabled=yes_no
[no] This property specifies whether or not the client should be enabled with security service. This property can have the following values:
no
security service is disabled.
yes
security service is enabled.
If you do not specify a value, the ORB assumes that the application will not use security service.
com.ibm.CORBA.security.dllName=dll_name
This property specifies the name of the DLL or shared library to be loaded by the ORB during process initialization to enable the use of security service. The valid security dll/shared lib names for different platforms are:
NT  - wasscc1m.dll 
AIX  - libwasscc1.so 
Solaris - libwasscc1.so 
Linux - libwasscc1.so 
HP - libwasscc1.sl 
com.ibm.CORBA.securityTraceLevel=0_1
[0] This property specifies whether or not trace data is logged for the security service for the current client process. This property has one of the following values:
0
Indicates trace is off.
1
Indicates trace is on.
com.ibm.ssl.protocol=protocol_level
[SSLv3] This property is used to specify the SSL protocol level. Each value must be separated by a space. Possible values: SSLv2, SSLv3, TLS.
com.ibm.ssl.keyFile=key_file_name
This property specifies the name of the key database file to use when opening an SSL connection. The full path of the key file must be specified. For information on SSL support, see "Supporting SSL by WebSphere for CORBA C++ clients".
com.ibm.ssl.keyPassword=password
This property is used to specify the password needed to open the key database file. For information on how to protect a plain password, see "Protecting a plain password inside the client security property file".
com.ibm.ssl.enabledv2CipherSuites=enabled_cipher_suites for SSLv2
[SSL_RC4_128_WITH_MD5 and SSL_RC4_128_EXPORT40_WITH_MD5] This property is used to specify the ciphers to use when opening a SSL connection with SSLv2 protocol. Each cipher must be separated by a space. Note that value of this property always overrides the ciphers set by com.ibm.CSI.performMessageIntegrity and com.ibm.CSI.performMessageConfidentiality. Possible values:
SSL_RC4_128_WITH_MD5 
SSL_RC4_128_EXPORT40_WITH_MD5 
SSL_RC2_CBC_128_CBC_WITH_MD5 
SSL_RC2_CBC_128_CBC_EXPORT40_WITH_MD5 
SSL_DES_64_CBC_WITH_MD5 
SSL_DES_192_EDE3_CBC_WITH_MD5
See the SSL v2 specification for further details about these ciphers.
com.ibm.ssl.enabledv3CipherSuites=enabled_cipher_suites for SSLv3 or TLS
[SSL_RSA_WITH_RC4_128_MD5 and SSL_RSA_EXPORT_WITH_RC4_40_MD5] This property is used to specify the ciphers to use when opening a SSL connection with SSLv3 or TLS protocol. Each cipher must be separated by a space. Note that value of this property always overrides the ciphers set by com.ibm.CSI.performMessageIntegrity and com.ibm.CSI.performMessageConfidentiality. Possible values:
SSL_RSA_WITH_NUL_MD5 
SSL_RSA_WITH_NUL_SHA 
SSL_RSA_EXPORT_WITH_RC4_40_MD5 
SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 
SSL_RSA_WITH_DES_CBC_SHA 
SSL_RSA_WITH_RC4_128_MD5 
SSL_RSA_WITH_RC4_128_SHA 
SSL_RSA_WITH_3DES_EDE_CBC_SHA
See the SSL v3 specification for further details about these ciphers.
com.ibm.CSI.performTLClientAuthenticationRequired=yes_no
[no] This property is used to determine if transport layer client authentication is required. If required, every secure socket opened between client and server authenticates using SSL mutual authentication. When performing client authentication using SSL, the client key file must have a personal certificate configured. Without a personal certificate, the client cannot authenticate to the server over SSL. If the personal certificate is a self-signed certificate, the server must contain the client's public key in the server's trust file. If the personal certificate is a CA granted certificate, the server must contain the CA's root public key in the server's trust file. When this property is specified, the associated property com.ibm.CSI.performTLClientAuthenticationSupported is ignored.
com.ibm.CSI.performTLClientAuthenticationSupported=yes_no
[yes] This property is used to determine if transport layer client authentication is supported. When performing client authentication using SSL, the client key file must have a personal certificate configured. Without a personal certificate, the client cannot authenticate to the server over SSL. If the personal certificate is a self-signed certificate, the server must contain the client's public key in the server's trust file. If the personal certificate is a CA granted certificate, the server must contain the CA's root public key in the server's trust file. This property is only valid when SSL is supported or required. If the associated property com.ibm.CSI.performTLClientAuthenticationRequired is enabled, this property is ignored.
com.ibm.CSI.performTransportAssocSSLTLSRequired=yes_no
[no] This property is used to determine if SSL is required. When SSL is required, this client must use SSL to communicate to a server. If SSL is not supported by a server, this client does not attempt a connection to that server. When this property is enabled, the associated property com.ibm.CSI.performTransportAssocSSLTLSSupported is ignored.
com.ibm.CSI.performTransportAssocSSLTLSSupported=yes_no
[yes] This property is used to determine if SSL is supported. When SSL is supported, this client may use either SSL or TCP/IP to communicate to a server. If SSL is not supported then the client must communicate over TCP/IP to the server. It is recommended that SSL be supported so that any sensitive information is encrypted and digitally signed. When the associated property com.ibm.CSI.performTransportAssocSSLTLSRequired is enabled (set to yes), this property is ignored. In this case, SSL will always be required.
com.ibm.CSI.performMessageIntegrityRequired=yes_no
[yes] This property is used to determine if 40-bit ciphers must be used to make SSL connections. If a target server does not support 40-bit ciphers, a connection to that server fails. This property is only valid when SSL is enabled. When this property is enabled, the associated property com.ibm.CSI.performMessageIntegritySupported is ignored.
com.ibm.CSI.performMessageIntegritySupported=yes_no
[yes] This property is used to determine if 40-bit ciphers may be used to make SSL connections. If a target server does not support 40-bit ciphers, a connection may be made using only digital signing ciphers. This property is only valid when SSL is enabled. This property is ignored if the associated property com.ibm.CSI.performMessageIntegrityRequired is enabled.
com.ibm.CSI.performMessageConfidentialityRequired=yes_no
[no] This property is used to determine if 128-bit ciphers must be used to make SSL connections. If a target server does not support 128-bit ciphers, a connection to that server fails. This property is only valid when SSL is enabled. When this property is enabled, the associated property com.ibm.CSI.performMessageConfidentialitySupported is ignored.
com.ibm.CSI.performMessageConfidentialitySupported=yes_no
[yes] This property is used to determine if 128-bit ciphers may be used to make SSL connections. If a target server does not support 128-bit ciphers, a connection may be made at a lower encryption strength. This property is only valid when SSL is enabled.

Note: If none of the properties below are configured, the default cipher strength will always be "confidentiality required", which uses 128-bit ciphers:

com.ibm.CSI.performMessageIntegrityRequired
com.ibm.CSI.performMessageIntegritySupported
com.ibm.CSI.performMessageConfidentialityRequired
com.ibm.CSI.performMessageConfidentialitySupported


Related tasks
Specifying run-time properties for CORBA C++ clients and servers
Supporting SSL for CORBA C++ clients
Protecting a plain password inside the client security property file



Searchable topic ID:   rcor_props
Last updated: Jun 21, 2007 8:07:48 PM CDT    WebSphere Business Integration Server Foundation, Version 5.0.2
http://publib.boulder.ibm.com/infocenter/wasinfo/index.jsp?topic=/com.ibm.wasee.doc/info/ee/corba/ref/rcor_props.html

Library | Support | Terms of Use | Feedback