Using HTTP Adapters with Ensemble
Settings for the HTTP Inbound Adapter
Provides reference information for settings of the HTTP inbound adapter, EnsLib.HTTP.InboundAdapter.
The inbound HTTP adapter has the following settings:
||Call Interval, Port
||Job Per Connection, Allowed IP Addresses, OS Accept Connection Queue Size, Stay Connected, Read Timeout, SSL Configuration, Local Interface, Enable Standard Requests
||Charset, Force Charset, GenerateSuperSessionID
Specifies a comma-separated list of remote IP addresses from which to accept connections. The adapter accepts IP addresses in dotted decimal form.
IP address filtering is a means to control access on private networks, rather than for publicly accessible systems. InterSystems does not recommend relying on IP address filtering as a sole security mechanism, as it is possible for attackers to spoof IP addresses.
An optional :port
designation is supported, so either of the following address formats is acceptable: 192.168.1.22 or 192.168.1.22:3298. If a port number is specified, connections from other ports will be refused.
If the string starts with an exclamation point (!) character, the inbound adapter initiates the connection rather than waiting for an incoming connection request. The inbound adapter initiates the connection to the specified address and then waits for a message. In this case, only one address may be given, and if a port is specified, it supersedes the value of the Port
setting; otherwise, the Port
setting is used.
This adapter does not use polling. It listens for a connection, and once a connection is established, it listens for messages on that connection (and responds immediately, if possible). It does, however, periodically check to see whether there have been requests to shut down the adapter or make it quiescent. This setting specifies the interval, in seconds, for the EnsLib.HTTP.InboundAdapter
to perform this check.
The default value is 5 seconds. The minimum is 0.1 seconds.
Specifies the character set of the incoming data. Ensemble automatically translates from this encoding. The setting value is not case-sensitive. Use Binary
for binary files, or for any data in which newline and line feed characters are distinct or must remain unchanged, for example in HL7 Version 2 or EDI messages. Other settings may be useful when transferring text documents. Choices include:
If this setting is true, the adapter uses the Charset
setting instead of any character set declared in the incoming HTTP header Content-Type
field. The default is false.
This property controls whether the message will have a SuperSessionID, which can be used to identify messages that cross from one namespace to another. If this property is set, the business service first checks the HTTP header of the inbound message for a SuperSession ID. If it has a SuperSessionID value, it uses it; otherwise, it generates a new SuperSession value. It sets the SuperSesssion value in the Ensemble message and can also return the value in any HTTP response it sends to the caller.
If this setting is true, the adapter spawns a new job to handle each incoming TCP connection and allows simultaneous handling of multiple connections. If it is false, the adapter does not spawn a new job for each connection. The default is true.
Specifies the network interface through which the connection should go. Select a value from the list or type a value. An empty value means use any interface.
Specifies that the service can receive data via the CSP Gateway.
In order for the CSP mechanism to work, HTTP Services must be configured either with their configuration name the same as the class name, or the invoking URL must include ?CfgItem= giving the config item name, or using a CSP application with a DispatchClass configured and the config item name as the next URL piece after the application name.
To specify that the service only receives data from the CSP port and not from the special port, select Enable Standard Requests
and set the pool size to 0.
Note that if you use the CSP port, you cannot have a First-In-First-Out processing for messages.
Specifies the number of incoming connections should the operating system should hold open. Set to 0 if only one connection at a time is expected. Set to a large number if many clients will connecting rapidly.
Number of seconds to wait for each successive incoming read, following receipt of initial data from remote port.
Specifies whether to keep the TCP connection open between requests.
If this setting is zero, the adapter will disconnect immediately after each message is received.
If this setting is positive, it specifies the idle time, in seconds. The adapter disconnects after this idle time.
If this setting is -1, the adapter auto-connects on startup and then stays connected.