Type to start searching...
An HTTP Integration Channel.
* channel - the channel name on which the message was received or will be sent
* body - the string or binary body of the message to send. Body is not sent when the method is GET.
* correlationId - an identifier used to correlate messages. This is currently only used on MessageQueue
channels for JMS messages.
* url - the base URL on which to send the request. e.g. http://localhost:7080/nexj/xml/Account.
If the URL doesn’t need to change at run-time, you can just specify the URL in the channel
properties.
If you want to override the URL or any other channel settings at deploy-time, modfy the channel settings in
the currently selected Connection. URLs can also be dynamically set when called from Services. This
can only be done when sending a raw message (see Message). In this case, set the url property on the
raw HTTP transfer object e.g. (this'url "http://www.nexj.com/example").
You can retrieve the currently set URL with ((((invocation-context)'metadata)'getChannel "MyChannelName")'url)
and modify it with code.
* method - The type of HTTP request. On outbound, Defaults to "GET" if the body is null, "POST" if
the body is specified.
* headers - A transfer object with key/value pairs of headers from the incoming message or headers to send out.
* parameters - A transfer object with key/value pairs of parameters from the incoming message or parameters
to send out. The values should be strings or something that is easily encoded as a string and will
be URL encoded automatically.
In a "GET" request the parameters will be encoded and appended to the URL.
In a "POST" request the parameters will be encoded and put in the body of the request unless the URL contains
a question mark followed by one or more parameter/value pairs. In this case the parameters whose names match the
parameters in the URL will be encoded into the URL and the remaining parameters will be encoded in the body.
If any parameters will be placed in the body, you must set the content type to "application/x-www-form-urlencoded".
This may be done by setting the "Content Type" field in the Channel metadata. If you wish to set this at run-time,
it should be set in the message headers, e.g.:
(: headers
(message
(: Content-Type "application/x-www-form-urlencoded")
)
)
If both parameters and a body are specified, the parameters that would have gone into the body will be discarded.
* path - the path after the channel name in the incoming request URL. e.g. /nexj/xml/Account
* principal
* status - Status code of the HTTP response, e.g. 200
* password
* message - e.g. "OK"
* proxyHost
* proxyPort
* proxyUser
* proxyPassword
agent : string
Sender User-Agent.
user-agent: Mozilla/5.0 (Linux; X11)
authComponent : string
Authentication interceptor component.
binary : boolean
True if the data is binary, false if string. If unset, the data type is determined from HTTP headers for each request.
category : string
The category of the channel.
combine
Resolution algorithm for multiple bound services processing the same message. (Default none - meaning multiple services with the same message is not supported)
Valid values based on“string”. | |
---|---|
none |
Multiple services declaring the same message in their associated Interface Request messages are not supported. (Default) |
first |
Only the first one among the bound services with a matching message in their Interface Request messages is invoked. |
all |
All the services with a matching message in their Interface Request messages are invoked. When multiple services are bound to a channel and a message is forwarded to more than one of those services, the initial "this" variable in those services refers to the same object. This should be taken into account if the original message object can be updated in any of the services – you might want to modify a copy of the message instead. |
connectionTimeout : nonNegativeInt
Timeout in milliseconds for establishing HTTP connections, 0 for infinite timeout.
Valid values based on“int”. | |
---|---|
0 (minInclusive) |
contentType : string
The default HTTP mime type of the body of the request (used with POST and PUT requests) or response content (http request/response).
This header indicates the Internet media type of the message content, consisting of a type and subtype.
* application/x-www-form-urlencoded - use this when POSTing parameters
* application/javascript
* application/pdf
* application/xhtml+xml
* application/json
* image/gif
* image/jpeg
* text/html
* text/xml
* text/plain
delete : boolean
True if the HTTP DELETE method is implemented.
description : string
Channel description.
error : string
Expression returning non-#f if the message should be treated as an error.
This property is used to specify special cases that you want to handle yourself. By default anything other than a status of 200 will be treated as an error. The raw message is passed as "this".
; accept responses with status code of OK (200) or Redirection (302) - reject all others
(not (in? (this'status) '(200 302)))
get : boolean
True if the HTTP GET method is implemented.
head : boolean
True if the HTTP HEAD method is implemented.
idle : boolean
True to disable the channel if it is not used by an enabled channel.
maxSenders : integer
Maximum HTTP sender connections per server, -1 for unlimited.
maxSize : nonNegativeInt
Maximum HTTP request size in bytes. Defaults to the global maximum HTTP request size.
Valid values based on“int”. | |
---|---|
0 (minInclusive) |
nodeType : string
Name of target cluster partition, defaults to null for nodes of any type.
options : boolean
True if the HTTP OPTIONS method is implemented.
post : boolean
True if the HTTP POST method is implemented.
privilege : string
Privilege required to access the HTTP channel receiver.
put : boolean
True if the HTTP PUT method is implemented.
readTimeout : nonNegativeInt
Timeout in milliseconds for outbound HTTP requests, 0 for infinite timeout.
Valid values based on“int”. | |
---|---|
0 (minInclusive) |
receive : boolean
True if the channel can receive messages.
send : boolean
True if the channel can send messages.
stealth : boolean
True to supress the debug logging, unless nexj.system.core.meta.integration.Channel.<name> category dump logging is enabled.
trace : boolean
True if the HTTP TRACE method is implemented.
url : string
Default HTTP request URL.
warningTimeout : nonNegativeLong
Timeout in milliseconds before a warning is generated, 0 for infinite timeout.
Valid values based on“long”. | |
---|---|
0 (minInclusive) |
Sequence of:
SenderProperties [0..1]
ReceiverProperties [0..1]
ServiceBindings [0..1] - Services bound to the incomming traffic on the channel.