Attach a TCP/IP Server policy to one or more TCP/IP nodes in a message flow to control connection details to a TCP/IP server at run time.
You use a TCP/IP server node in a message flow to create a server connection to a raw TCP/IP socket, and to send or receive data over the connection to or from an external application. The TCPIPServerOutput node listens on a TCP/IP port and waits for a client node to make a connection with the port. When the client node connects to the port, the server node creates a connection for the client. The connections are not made directly by the node but are obtained from a connection pool that is managed by an integration server. The integration server uses the default TCPIP Server policy to determine which attributes are used for the socket connection. However, if the policy is set on the node, the policy is used for all the properties, including the host and port number.
To attach a TCPIP Server policy to a TCPIP Server node, set the Connection details property of the TCPIPServerInput, TCPIPServerOutput, or TCPIPServerReceive node to the name of the policy, in the format {policyProjectName}:policyName. You must deploy this policy before the associated message flow is started.
Property | Property name in .policyxml file | Value |
---|---|---|
Port number | Port | This property specifies the port number to use for this policy. The default value is 0
(zero), which means no port number is used. By default, the policy is not used and the value of the
port that is provided on the node is used instead. A port number can be assigned to only one policy at a time; if you try to assign a port number to more than one policy, an error occurs. Value type: Integer |
SSL protocol | SSLProtocol | This property specifies the SSL protocol to use. Valid values are:
Note: SSLv3 is disabled by default in IBM® App Connect
Enterprise Version
11.0, because SSLv3
is no longer considered secure.
Value type: String |
Cipher suites | SSLCiphers | This property consists of a semicolon-delimited list of cipher suites that can be used for the SSL handshake. The default value "" means that all available cipher suites can be used. Value type: String |
SSL client authentication | SSLClientAuth | This property specifies whether the client must provide authentication information about
itself. Valid values are:
Value type: String |
SSL key alias | SSLKeyAlias | This property specifies the key alias that identifies the key in the integration server keystore that is to be used for the SSL connection. Set this
property if your keystore contains more than one key. The default value ("",
or none) indicates that an SSL key alias is not used. Any other string value
identifies the alias. Note: If the keystore contains more than one key, and no key alias is defined, the
Java™ virtual machine arbitrarily chooses a key at run time.
Value type: String |
Maximum number of connections | MaximumConnections | This property specifies the maximum number of server connections that can be made on this
port. The default value is 100. Value type: Integer |
Maximum record size (bytes) | MaxReceiveRecordBytes | This property specifies the maximum size that a record can reach before an exception is
issued. The default value is 100000000, which means that the integration server accepts messages with a maximum size of 100 MB. The record size is taken to be the size of the
data, including any delimiters. Value type: Integer |
Connection expiry time (seconds) | ExpireConnectionSec | This property specifies the length of time (in seconds) that a connection is kept open
without being used. The value can be any integer. A value of 0 (zero) causes
the connection to be closed immediately. This property has a default value of
-1, which causes the connection to remain open indefinitely without
expiring. Value type: Integer |
SO_RCVBUF | SO_RCVBUF | This property specifies the size (in bytes) of the SO_RCVBUF property on
the socket. Valid values vary according to the operating system that you are using. This property is
a standard TCP/IP property. The default value is 0 (zero), which sets the
size of the SO_RCVBUF property to the operating system default. Value type: Integer |
SO_SNDBUF | SO_SNDBUF | This property specifies the size (in bytes) of the SO_SNDBUF property on
the socket. Valid values vary according to the operating system that you are using. This property is
a standard TCP/IP property. The default value is 0 (zero), which sets the
size of the SO_SNDBUF property to the operating system default. Value type: Integer |
SO_KEEPALIVE | SO_KEEPALIVE | This property specifies the value of the KEEPALIVE property on the
socket. If the value is set to True, the socket checks that it is still
connected after a specified time. The length of time depends on the TCP/IP implementation on the
operating system, but is typically two hours. Keep-alive processing works only if the underlying
operating system supports SO_KEEPALIVE. This property is a standard TCP/IP
property. The default value is False, which means that no keep-alive
processing is completed. Value type: Boolean |
TCP_NODELAY | TCP_NODELAY | This property specifies the value of the TCP_NODELAY property on the
socket. This property has a default value of True, which means that the
socket sends data as soon as it is sent to its buffer. Value type: Boolean |
Traffic class | TrafficClass | This property specifies the traffic class on any connection that is established. Valid values
are positive integers. The default value is -1, which leaves the traffic
class set to the operating system default. Value type: Integer |
SO_LINGER | SO_LINGER | This property specifies the SO_LINGER property on any connection that is
established. This property is a standard TCP/IP property. The default value is
False. Value type: Boolean |
SO_LINGER_TIMEOUT_SEC | SO_LINGER_TIMEOUT_SEC | This property specifies the SO_LINGER_TIMEOUT_SEC property on any
connection that is established. This property is a standard TCP/IP property. Valid values are
positive integers. The default value is -1, which leaves the
SO_LINGER_TIMEOUT_SEC value set to the operating system default. Value type: Integer |
Close with unprocessed data | CloseWithUnprocessedData | This property specifies whether the integration node reads ahead up to 1 MB on the stream to
look for TCP/IP closure events from the steam. If a closure event is found, the connection is
allowed to close if it is not owned by an input node. This process is used by flows that contain
connections that are owned by receive nodes to respond to TCP/IP closure events, even if execution
never proceeds to another receive node (for example, if the flow's input node is idle when the close
occurs). This property has a default value of False. Value type: Boolean |