The TCP Client communication point connects to a remote TCP server listening for connections on the port specified by the Remote Host and Remote Port properties. The optional properties Local Address and Local Port can be used to force the communication point to connect using a specific interface and local TCP/IP port number.

Messages on a TCP stream must be wrapped with a header and/or trailer in order to identify when a message starts and ends. The input and output Wrapper, Header, Trailer, and Endian-ness properties are used to configure message wrapping.

Supported Operational Modes: All

Input Mode Properties

Property

Description

Remote Host

The hostname or IP address of the remote system (a TCP server) to which the client will connect. This is required for a TCP client in order to make a connection.

Remote Port

The port number on the remote host to which the client will connect.

Local Address

The hostname or IP address of the local interface to bind the socket connection (all interfaces if empty). It generally should be left blank. It is usually only used if your Rhapsody server has multiple network interfaces (that is, multiple network cards, or network card and VPN connection, and so on) and you want to explicitly force the TCP client connection to use that particular network interface. There are generally very few scenarios where this is required.

Local Port

The port number to bind the local socket. If you do not set this, Rhapsody will pick an unused port.

Use SSL

Whether to use SSL:

  • Enabled - secure socket layer is used for this connection and all messages are encrypted.
  • Disabled (default).

It is recommended that you enable SSL for TCP Client communication points whenever it is supported by the remote server. Refer to TLS/SSL Support in Rhapsody for details.

SSL Protocol Mode

Refer to SSL Protocol Versions for details.

SSL Cipher Suites

Refer to SSL Cipher Suites for details.

Use SSL Client Mode

Whether to use SSL client mode:

  • Enabled (default) - SSL client mode is enabled (in other words, this communication point acts as the SSL client and send the ClientHello packet to initiate the SSL negotiation). In most cases, the TCP client is also the SSL client and the TCP server is the SSL server.
  • Disabled - SSL client mode is disabled.

Note that this is not the same as enabling client authentication: TLS client authentication is enabled by configuring one or more trusted certificates for the connection. Secure Keys configures the private key that each client-server side uses to authenticate itself to the other side; Trusted Certificates configures how each client-server side authenticates the other side.

Secure Keys

Identifies the private keys used for authenticating Rhapsody's end of the SSL connection. When configured with a private key, the SSL client supports SSL client authentication if requested by the SSL server.

Refer to Client Authentication for details.

Trusted Certificates

Identifies the trusted certificates used at the non-Rhapsody end of the SSL connection. If it is not configured with the SSL server's certificate, then this SSL client operates in anonymous server authentication mode. It is highly recommended that the server's certificate always be provided here to allow server authentication to be performed.

Refer to Server Authentication for details.

Connection Timeout (ms)

The time in milliseconds to wait for a connection being established before aborting the connection attempt. A value of zero or less is treated as an infinite timeout. In most cases, this does not need to be changed as the connection either succeeds or fails prior to this timeout.

The default value is 300000.

Dynamic Connection Failed Action

Whether to treat errors as message or connection errors when the host or port uses properties or variables.

  • Treat as message error (default).
  • Treat as connection error.

Log Connections

Whether to log connections and disconnections:

  • Enabled - details of when a connection to the communication point is established and dropped are logged to the log file specified in Connection Log File. Use of this logging facility slows the communication point down considerably. It is intended for debugging purposes and should not generally be used in production.
  • Disabled (default).

Log Data

Whether to log data:

  • Enabled - all data passed over the connections of the communication point is logged to the log file. This is potentially a large amount of data.
  • Disabled (default).

Log Data As Hex

Whether to log data in hexadecimal form:

  • Enabled - the hexadecimal representation of the data is logged to the log file.
  • Disabled (default) - the data is logged exactly as it is as it passes over the communication point connection.

Connection Log File

The full file name (path and file name) of the file on the server to log the information to.

Extra Information

Whether to include extra log information:

  • None.
  • Log Time (default) - the timestamps are logged with each event.

Connection Mode

The connection mode:

  • Disconnect if not sending/receiving.
  • Maintain a constant connection (default) - allows the communication point to hold on to the TCP connections made to the TCP server. However, this is not advised if the communication point is expected to stay idle for extended periods of time without any TCP activity.

Incoming Wrapper

Message wrapping around messages received over the socket connection.

  • Minimal (default) - HL7 minimal LLP protocol.
  • User - user-defined header and/or trailer.
  • Hybrid - HL7 hybrid LLP protocol.
  • None - no header and trailer.

Refer to Wrapper Options for details.

Strip Wrapping

Determines whether or not to strip the wrapping off received messages:

  • Enabled (default).
  • Disabled.

Refer to Strip Wrapping for details.

Incoming Header

This property defines the header that identifies the start of a message on the socket connection.

Only available when Incoming Wrapper is set to User.

Incoming Trailer

This property defines the trailer that identifies the end of a message on the socket connection.

Only available when Incoming Wrapper is set to User.

Incoming Endian-ness

Determines the incoming endian-ness:

  • Big (default) - big-endian order (most significant byte first).
  • Little - little-endian order (least significant byte first).

Only available when Incoming Wrapper is set to User. Certain codes used in the header and trailer definitions can output binary data.

Output Mode Properties

Property

Description

Remote Host

The hostname or IP address of the remote system to which the client will connect.

Remote Port

The port number on the remote host to which the client will connect.

Local Address

The hostname or IP address of the local interface to bind the socket connection (all interfaces if empty).

Local Port

The port number to bind the local socket.

Use SSL

Whether to use SSL:

  • Enabled - secure socket layer is used for this connection and all messages are encrypted.
  • Disabled (default).

It is recommended that you enable SSL for TCP Client communication points whenever it is supported by the remote server. Refer to TLS/SSL Support in Rhapsody for details.

SSL Protocol Mode

Refer to SSL Protocol Versions for details.

SSL Cipher Suites

Refer to SSL Cipher Suites for details.

Use SSL Client Mode

Whether to use SSL client mode:

  • Enabled (default) - SSL client mode is enabled (in other words, this communication point acts as the SSL client and send the ClientHello packet to initiate the SSL negotiation). In most cases, the TCP client is also the SSL client and the TCP server is the SSL server.
  • Disabled - SSL client mode is disabled.

Note that this is not the same as enabling client authentication: TLS client authentication is enabled by configuring one or more trusted certificates for the connection. Secure Keys configures the private key that each client-server side uses to authenticate itself to the other side; Trusted Certificates configures how each client-server side authenticates the other side.

Secure Keys

Identifies the private keys used for authenticating Rhapsody's end of the SSL connection. When configured with a private key, the SSL client supports SSL client authentication if requested by the SSL server.

Refer to Client Authentication for details.

Trusted Certificates

Identifies the trusted certificates used at the non-Rhapsody end of the SSL connection. If it is not configured with the SSL server's certificate, then this SSL client operates in anonymous server authentication mode. It is highly recommended that the server's certificate always be provided here to allow server authentication to be performed.

Refer to Server Authentication for details.

Connection Timeout (ms)

The time in milliseconds to wait for a connection being established before aborting the connection attempt. A value of zero or less is treated as an infinite timeout. In most cases, this does not need to be changed as the connection either succeeds or fails prior to this timeout.

The default value is 300000.

Dynamic Connection Failed Action

Whether to treat errors as message or connection errors when the host or port uses properties or variables:

  • Treat as message error (default).
  • Treat as connection error.

Log Connections

Whether to log connections and disconnections:

  • Enabled - details of when a connection to the communication point is established and dropped are logged to the log file specified in Connection Log File. Use of this logging facility slows the communication point down considerably. It is intended for debugging purposes and should not generally be used in production.
  • Disabled (default).

Log Data

Whether to log data:

  • Enabled - all data passed over the connections of the communication point is logged to the log file. This is potentially a large amount of data.
  • Disabled (default).

Log Data As Hex

Whether to log data in hexadecimal form:

  • Enabled - the hexadecimal representation of the data is logged to the log file.
  • Disabled (default) - the data is logged exactly as it is as it passes over the communication point connection.

Connection Log File

The full file name (path and file name) of the file on the server to which you want to log the information.

Extra Information

Whether to include extra log information:

  • None.
  • Log Time (default) - the timestamps are logged with each event.

Connection Mode

Determines the connection mode:

  • Disconnect if not sending/receiving.
  • Maintain a constant connection (default) - enables the communication point to hold on to the TCP connections made to the TCP server. This is not advised if the communication point is expected to stay idle for extended periods of time without any TCP activity.

Outgoing Wrapper

Message wrapping around messages received over the socket connection. Refer to Wrapper Options for details.

  • Minimal (default) - HL7 minimal LLP protocol.
  • User - user-defined header and/or trailer.
  • Hybrid - HL7 hybrid LLP protocol.
  • None - no header and trailer.

Outgoing Header

Defines the header written to the socket connection before each message.

Only available when Outgoing Wrapper is set to User. 

Outgoing Trailer

Defines the trailer that is written to the socket connection after each message.

Only available when Outgoing Wrapper is set to User. 

Outgoing Endian-ness

Determines the outgoing endian-ness:

  • Big (default) - big-endian order (most significant byte first).
  • Little - little-endian order (least significant byte first).

Only used when Outgoing Wrapper is set to User. Certain codes used in the header and trailer definitions can output binary data.

Outgoing TCP Packets

Determines whether to include the wrapper in the same TCP packet:

  • Include wrapper in the same TCP packet as message (default) - the header and trailer are included in the same TCP packet as the message.
  • Send outgoing message over multiple TCP packets - an outgoing message is always split into at least two TCP packets, which can on occasion assist in detecting broken TCP connections.

Only applied when Outgoing Wrapper is not set to None.

Bidirectional, In->Out and Out->In Mode

The configuration properties for the TCP Client communication point in Bidirectional, In->Out and Out->In modes is a combination of the properties described above.

Refer to Out->In and In->Out Properties for general details on a communication point's In->Out and Out->In modes.

Connection Monitoring

Refer to Connection Monitoring for details.