Transport and Listener Properties
The elements that define transports and listeners in the configuration files contain a number of rwsf:property elements. These elements specify default values for certain named properties. These values are used when initializing the transport or listener.
The property values can be modified at runtime. The generated proxy class provides a setTransportProperty() method that takes two strings, corresponding to an rwsf:property element name and value. The listener base class has a method called setProperty() for setting properties directly through the listener object.
Table 7 lists the properties of the HTTP and HTTPS transports supplied with HydraExpress, including HTTPS support for client-side authentication.
NOTE: Note that the default configuration files do not include all supported properties listed in Table 7 . Add any property to take advantage of its features.
Note that, in this discussion, the customized files are a generated project’s transport files, transports.xml, and client-transports.xml, rather than the template files located in the <installdir>\conf\webservice directory. This means that the settings are relevant to just a single project. If you want the settings to apply to all projects, instead edit the template files in the <installdir>\conf\webservices directory.
Table 7 – Transport properties for HTTP and HTTPS 
Property name
Type
Description
connect-timeout
long
Timeout used when the transport attempts to connect to the server. The value is in milliseconds.
Default: 60000. This value cannot be changed until the transport disconnects.
delay-payload
bool
If true, adds an "Expect: 100-continue" header to the request. The transport will delay sending the payload of the request until a "100" status is received from the server, or until the delay‑payload‑timeout has elapsed.
Default: false
delay-payload-timeout
long
Timeout used when delaying sending the payload. The value is specified in milliseconds.
Default: 30000. This value can be changed between requests.
password
string
The password for the user property. This value can be changed between requests.
Default: none. This value is ignored if user is not set.
proxy-location
string
Specifies the location of the proxy server to use. This property must be specified in the transports.xml file, and must specify a URL if a proxy is used. For example, in order to specify an HTTP proxy running on www.somewhere.net port 8080, you would add the following property to the HTTP Transport block:
<rwsf:property name="proxy-location" value="http://www.somewhere.net:8080/"/>

Default: none
reply-timeout
long
Timeout used when waiting for the reply. The value is specified in milliseconds.
Default: 60000. This value can be changed between requests.
submit-timeout
long
Timeout used when submitting the request to the server. The value is specified in milliseconds.
Default: 60000. This value can be changed between requests.
user
string
If this value is set and the password property is set, the transport sends the user and password combination as an HTTP header via the Basic Authorization header.
Default: none. This value can be changed between requests.
HTTPS-specific Transport Properties (extensions to the set of properties listed above)
security-init-seed
string
The seed for the random number generator. This value cannot be changed until the transport disconnects.
Default: none. Set this property only to override the OpenSSL default functionality.
security-init-seed-type
string
If this property is set to string, it indicates that the security-init-seed property contains a seed string. If set to filename, it indicates that the security-init-seed property contains the name of a file holding the seed.
Default: none. Set this property only to override the OpenSSL default functionality.
ssl-certificate
string
The file that contains the X.509 Certificate for the client. This property is mandatory if performing client authentication. This property cannot be changed until the transport disconnects.
Default: ${RWSF_CONF}/certs/localhost.crt
ssl-private-key
string
The file that contains the Private Key for the client. This property is mandatory if performing client authentication. This property cannot be changed until the transport disconnects.
Default: ${RWSF_CONF}/certs/localhost.key
ssl-quiet-shutdown
bool
During normal shutdown of an SSL connection, both sides will attempt to perform a final handshake indicating that each has agreed to close the connection. If one side closes the connection before the other can send its part of the handshake, this operation can fail with an exception or signal. This property disables this final handshake.
Default: false.
ssl-trusted-certificates
string
The file that contains the trusted certificate chain used in authentication. This property is mandatory if performing server authentication. This property cannot be changed until the transport disconnects.
Default: none
ssl-callback-method
string
The library and method name of the callback method that OpenSSL will use to retrieve the password for the private key.
Usage: libraryName.methodName
Default: none
Table 8 lists the properties of the HTTP and HTTPS listeners supplied with HydraExpress.
Table 8 – Listener properties for HTTP and HTTPS 
Property name
Type
Description
auto-start
string
If true, the listener thread is started automatically when the listener object is initialized.
Default: false
bound-host
string
The host used by the listener. If host is unspecified, this property is populated with the name returned by gethostname().
Default: none
bound-ip
string
The IP address used by the listener. If the host property is unspecified, this property is populated with the IP address of the host name returned by gethostname().If the host property is specified, the bound-ip property will be set to the IP address of the specified host.
Default: none
bound-port
string
The port used by the listener. If the port property is unspecified, this property is populated with the first unbound port. If the port property is specified, the bound-port property will be set to the same value.
Default: none. Do not explicitly set this property. To set a port, use the port property.
host
string
Host name used to create a listener socket. Note: This value is also assigned to bound-host, which is always used by the system to locate the listener host. If not specified, the host name returned by the global function gethostname() is used for bound-host and host is left unpopulated.
Default: localhost
keep-alive
bool
If true, the connection is not automatically closed once the response has been sent to the client. This property allows support of HTTP/1.1 persistent connections.
Default: true
port
string
Port name used to create a listener socket. If not specified, the value 0 is assumed, and the property bound-port is populated with the first unbound port. In this case, the port property will be left unassigned, and bound-port will be used.
Default: 9090 for HTTP; 9443 for HTTPS.
request-backlog
int
The number of pending connection requests allowed before the system starts refusing connections.
Default: 5
request-buffersize
long
Size of the buffer used to receive incoming messages. Smaller values may result in slower performance. Larger values may result in wasted space.
Default: 4096. If no value is specified, the default is no buffering.
request-timeout
long
Timeout used when returning a request to the client. The value is specified in milliseconds.
Default: 60000. If not specified, the listener blocks indefinitely.
HTTPS-specific Listener Properties (extensions to the set of properties listed above)
security-init-seed
string
The seed for the random number generator. This value cannot be changed until the transport disconnects.
Default: none. Set this property only to override the OpenSSL default functionality.
security-init-seed-type
string
If this property is set to string, it indicates that the security-init-seed property contains a seed string. If set to filename, it indicates that the security-init-seed property contains the name of a file holding the seed.
Default: none. Set this property only to override the OpenSSL default functionality.
ssl-certificate
string
The file that contains the X.509 Certificate for the client. This property is mandatory if performing server authentication. This property cannot be changed until the transport disconnects.
Default: ${RWSF_CONF}/certs/localhost.crt
ssl-private-key
string
The file that contains the Private Key for the client. This property is mandatory if performing server authentication. This property cannot be changed until the transport disconnects.
Default: ${RWSF_CONF}/certs/localhost.key
ssl-quiet-shutdown
bool
During normal shutdown of an SSL connection, both sides will attempt to perform a final handshake indicating that each has agreed to close the connection. If one side closes the connection before the other can send its part of the handshake, this operation can fail with an exception or signal. This property disables this final handshake.
Default: false.
ssl-trusted-certificates
string
The file that contains the trusted certificate chain used in authentication. This property is mandatory if performing client authentication. This property cannot be changed until the transport disconnects.
Default: none
ssl-session-id-context
string
The context string for session identification to enable SSL session reuse functionality. This property must be set to a non-null value if SSL session reuse is needed. This property cannot be changed until the transport disconnects.
Default: none
ssl-callback-method
string
The library and method name of the callback method that OpenSSL will use to retrieve the password for the private key.
Usage: libraryName.methodName
Default: none