Modify an HTTP transport

The following topics document the fields located on the HTTP transport maintenance pages.

The maintenance pages display all of the transport fields you can change; the exchange wizard has only the most commonly used. The following are the fields on the Settings and Advanced tabs.

Note   For information about SSL authentication, see SSL authentication.

When Activator sends a message via HTTP, it acts in the role of the HTTP client. The endpoint Activator is connecting to is the HTTP server.

HTTP error codes are reported in Activator log files. When you see an HTTP code in a log file, Activator is simply echoing the code returned by an HTTP server, firewall, proxy server, or load balancer.

  • A 200 response code indicates a successfully sent message.
  • A 503 response code indicates service is temporarily unavailable. This may be due to action by the trading engine system throttle. The throttle attempts to monitor the message load by looking at available memory and the depth of internal queues. When a loaded condition is detected, consumption of new work is halted. This means two things: exchange points stop polling and embedded servers return a 503 code.

For a complete list of HTTP codes, go to and see section 10 of the document.

Advanced tab (community pickup)

  • Sequence consumed messages based on their delivery exchange – Select this option if you want messages that are consumed by this pickup to be delivered in their original consumption order per resolved destination delivery. When Activator consumes messages on this pickup that are delivered over multiple delivery exchanges, the messages are filtered and ordered in their consumed sequence for each delivery, and processed in parallel per delivery. For details about this functionality, see Sequential message delivery.
    • Timeout to apply for out of sequence messages (seconds) – Default = 60 seconds. Enter a time limit for Activator to wait for missing messages of a sequence before taking the appropriate action. This feature avoids the blocking of processing when a sequenced message is not available.
  • Back up the files that go through this transport – Indicates whether the system backs up copies of the messages it consumes from back-end applications or from partners. Backing up files is strongly recommended. This is required for the system to perform fail-over operations such as attempting to send messages again (retries) in case of a transport connection failure. Without backups, a message in process cannot be recovered if the server or a processing node stops or restarts. Backups also are needed if you want the ability to resubmit messages to back-end applications or resend messages to partners.
  • Backup files are stored in <Activator_common_directory>\data\backup, unless you specify otherwise.
  • Restrict maximum file size for this transport – Optionally lets you specify the maximum size of files a transport can handle.
  • If Activator receives a file larger than the maximum, the file is rejected and a message is written to the events log. If received via HTTP, a 413 response also is sent and the connection is closed. A 413 message is Request Entity Too Large.
  • The maximum size must be expressed in bytes. Do not use commas. For instance, a kilobyte is 1024 bytes, a megabyte is 1048576 bytes, a gigabyte is 1073741824 bytes.
  • The smallest maximum allowed is 1000 bytes. On the opposite extreme, you can enter the largest number the field can accommodate.
  • This control is available only for transports used for picking up messages from the back end or receiving messages from partners.
  • Restrict maximum file size for this transport – Use this option to specify the maximum size of files a transport can handle.
  • If the pickup consumes a file larger than the specified maximum, the file is rejected and a message is written to the events log.
  • Express the maximum size in bytes. Do not use commas. For example, a kilobyte is 1024 bytes, a megabyte is 1048576 bytes, a gigabyte is 1073741824 bytes. The smallest maximum allowed is 1000 bytes. On the opposite extreme, you can enter the largest number the field can accommodate.

HTTP or HTTPS settings tab (partner)

  • URL – The URL for connecting to the server. If Encode and Decode buttons display, click Encode if the URL contains spaces or non-alphanumeric characters to encode the characters. Click Decode to reverse the transformation. For example, if you enter http://foo.com/foo= bar and click Encode the URL becomes http://foo.com/foo%3D%20%20bar.
  • Clients must use SSL to connect to this server – Select this to have Secure Sockets Layer protocol in use during connections. The server presents a certificate for verification. To do this, a certificate in a Community or Partner definition must be designated as the SSL certificate. The server must support SSL. If this is not selected, connections are not encrypted.
  • Enable host name verification – If selected, Activator compares the name of the SSL server to the name in the server’s certificate to ensure they are the same.
  • This server requires a user name and password – If selected, type a user name and password to connect to the server.

Advanced tab (partner)

  • Retries – This is the number of times Activator will retry connecting to the partner’s transport if the initial attempt to connect and send the message failed. The following are common reasons for triggering retries.
    • The connection attempt failed immediately for a reason such as host not found.
    • The host was found, but the connection process took longer than the connect timeout interval specified on the Advanced tab.
    • The connection was successful, but the partner’s HTTP server took longer than the response timeout interval to return a 200 OK response indicating the message was successfully received. A 200 OK response is a transport response, separate from a message protocol response such as an AS2 receipt.
  • In the last case, the 200 OK response also includes the receipt if synchronous receipts are requested. Otherwise, it is a simple 200 OK response with no payload. And if an asynchronous receipt is requested, the partner connects later to send it.
  • Retries occur according to an algorithm that starts at 5 minutes. The interval between retries increases with each subsequent retry in this pattern: 10 minutes, 15 minutes, 30 minutes, 60 minutes. The interval plateaus at 60 minutes. This means if the retry value is greater than 5, the fifth and each subsequent retry occurs at 60 minute intervals.
  • For example, if retries is 3, the system will try connecting again in 5 minutes if the initial connection attempt fails. If this retry attempt also fails, the system attempts a second retry in 10 minutes. The third retry attempt is made 15 minutes later. If the third retry attempt fails, the message is given a failed status. So after four attempts (the first attempt plus 3 retries), the message fails. You can search for and manually resubmit failed messages in Message Tracker.
  • Retries do not occur precisely at these intervals because each connection attempt takes some seconds, which varies by computer. So retries actually occur after the connection attempt time plus the interval.
  • This control applies only to retrying to send messages, not receiving. It applies only to retrying to send related to transport issues. It does not apply to successfully sent messages for which receipts have not been received as expected. Another control, resends, determines how many times the system will resend a message when a receipt is not received from the partner. For information about resends, see reliable messaging in the collaboration settings chapter.
  • Use custom retry intervals – Select this option to override the default retry intervals with intervals of your choice for this delivery exchange. Default intervals are 5, 10, 15, 30, and 60 minutes. When you select this option, you must enter at least one interval (in minutes) in the Custom retry intervals field. You can enter as many intervals as you like, separated by commas. Activator applies the intervals between successive retry attempts. If necessary, the last interval you list is repeated until either the delivery is successful or the number of permitted retries is reached.
  • Connect timeout (seconds) – Time in seconds Activator waits for a connection to the delivery exchange before the attempt times out. Although the default value is 30 seconds, this may be longer than the interval allowed by your operating system (OS). For example, Windows XP by default allows a maximum timeout of 20 seconds. The actual connect timeout interval is the lesser of the OS timeout and the value set in Activator.
  • Read timeout (seconds) – Time in seconds Activator waits to read data from the delivery exchange before terminating the connection.
  • Response timeout (seconds) – The limit in seconds that Activator waits for the delivery exchange to respond to a request before terminating the connection.
  • If the business protocol is AS2, the response timeout value is dynamically computed by Activator before the file is sent from the HTTP client partner to the receiving HTTP server. This value is directly related to the file size; a larger file size results in a larger response timeout value. This dynamic computation allows the receiving HTTP server more time to process a larger file.
  • Enable HTTP chunking – If you are sending files larger than 2 gigabytes, select this to turn on chunking. A chunked message is a large message broken into smaller pieces for sending to a partner over the Internet or to a back-end application.
  • Although primarily for handling large messages, chunking can be enabled for small messages, too. However, if your partners use a trading engine other than Activator or use an external or staged HTTP server, they may be unable to accept messages larger than 2 gigabytes, even if the messages are chunked.
  • Also, in rare cases a partner’s HTTP server may be unable to handle chunked messages, regardless of message size. You should perform tests to determine whether a partner’s server can handle chunked messages. If not, the partner must use Activator with the embedded server to receive large chunked messages successfully.
  • If you enable chunking because of large messages, you should also request that receipts be sent over an asynchronous connection. See the chapter on collaboration settings for details.
  • Attempt restarts – Select this to turn on checkpoint-restart. A checkpoint is information saved to disk that is a recovery point in the event of a transport failure. The restart program uses the last saved checkpoint and starts again, ensuring no loss of data.
  • The checkpoint files are saved on the server under the [install directory]/common/data/http/restartable, which is normally common to all nodes in the cluster. Thus, if a transfer is interrupted and the load balancer directs the restart request to a different node, the restart file will be accessible to the new node even though it did not process the original request.
  • To reduce unnecessary overhead when processing small files, checkpoint files are only created for messages that are at least 100 KB in size. Also, if a restart is attempted for a message whose checkpoint file on the server is more than four hours old, the checkpoint file will be discarded and the entire message will be retransmitted.
  • The restart logic is used only during transport retries, such as might occur when a transfer is interrupted due to network problems. If you resubmit a message in Message Tracker, no attempt is made to perform a checkpoint-restart.
  • This feature only works if your partner uses Activator and its embedded HTTP server. Do not select this option if a partner uses an external or staged HTTP server or uses a trading engine other than Activator.
  • Enable use of 102-processing – This option is available to ensure the connection between the client and server does not become idle and fail while message processing is in progress. For example, this makes sure the connection remains active when the client is sending a multi-gigabyte message. Or, to prevent a firewall from disconnecting an idle connection before the server receives the entire message and returns a 200 OK response. Most often this setting is useful when the client requests a synchronous receipt, but also could be recommended in some cases for an asynchronous receipt.
  • Selecting this option directs Activator to add the following to the header of an outbound message: Expect: 102-processing. This is an HTTP response code that indicates processing is in progress. If the receiving server supports 102 responses, the header triggers the server to send 102 responses to the client repeatedly until the server has completely processed the inbound message.
  • Before selecting this option, make sure the server supports 102 responses. If you turn on 102 processing and the server does not support it, the server will return a 417 message (the server could not meet the expectation given in the Expect header) and the connection may fail. If the receiving partner uses the embedded HTTP server in Interchange 5.5.1 or later, 102 responses are supported. This also is supported if your partner uses Jetty 6 or later.
  • Override SSL and TLS cipher suites – Select this option and then use the Add and Remove buttons to specify the cipher suites supported for the embedded server. If not selected, all cipher suites are supported by default.
  • Keeping the default cipher list is less secure than specifying a restricted set of cipher suites.
  • The cipher suites that are displayed in the "Available" column depend on your runtime environment (JRE version or IACK enablement, ....).
  • The default order in the "Available" column is the preferred order of use. Once ciphers are moved to the Selected column, you can arrange the order. The trading engine uses the ciphers in the order listed.
  • A cipher suite is a collection of security algorithms used in making connections via Secure Sockets Layer or Transport Layer Security. For example, an SSL or TLS protocol requires signing messages using a message digest algorithm. But the choice of algorithm is determined by the particular cipher suite being used for the connection. Typically, you can select an MD5 or SHA digest algorithm.
  • Of the many algorithms for encrypting data and computing the message authentication code, there are varying levels of security. Some provide the highest levels of security, but require a large amount of computation for encryption and decryption. Others are less secure, but provide rapid encryption and decryption. The length of the key used for encryption affects the level of security. The longer the key, the more secure the data.
  • The option for overriding cipher suites lets you select the level of security that suits your needs and enables communicating with others who might have different security requirements. For example, when an SSL connection is established, the client and server exchange information about the cipher suites they have in common. Then they communicate using the common cipher suite that offers the highest level of security. If they do not have a cipher suite in common, secure communication is not possible.
  • In versions of the Activator trading engine earlier than Interchange 5.9, cipher suite configuration was handled by a file named sslciphersuites.xml. As data in that file is saved in the database, the custom cipher suites configuration is retained upon upgrading and is displayed in the Selected list under the option in the user interface. The sslciphersuites.xml file is no longer used.
  • Back up the files that go through this transport – Indicates whether the system backs up copies of the messages it consumes from the back end or from partners.
  • Backing up files is strongly recommended. This is required for the system to perform fail-over operations such as attempting to send messages again (retries) in case of a transport connection failure. Without backups, a message in process cannot be recovered if the server or a processing node stops or restarts. Backups also are needed if you want the ability to resubmit messages to back-end applications or resend messages to partners.
  • Backup files are stored in <Activator_common_directory>\data\backup, unless you specify otherwise.
  • Post-processing script – The full path to an executable file that contains post-processing commands. This field applies to both application and partner deliveries.
  • See Post-processing of consumed messages.

Related topics:

Related Links