HTTPReply node

Use the HTTPReply node to return a response from the message flow to an HTTP client. This node generates the response to an HTTP client from which the input message was received by the HTTPInput node, and waits for confirmation that it has been sent.

The HTTPReply node is available in the following operation modes:
  • Developer
  • Application Integration Suite
  • Standard
  • Advanced
  • Express
  • Scale
  • Adapter
For more information, see Operation modes.

This topic contains the following sections:

Purpose

The HTTPReply node can be used in a message flow that sends a response to an inbound HTTP or HTTPS messages. The most common example of this scenario is a message flow that implements a web service.

For more information about web services, see Processing web service messages.

By default, HTTP messages are handled by the integration node listener, which is started when a message flow that includes HTTP nodes is started. All inbound and outbound HTTP messages are routed through this listener, for all HTTP nodes deployed to all message flows in all integration servers on the integration node.

You can configure the integration server to use its embedded listener to service the HTTP nodes in all message flows that are deployed to that integration server. The embedded listener communicates directly with the client and the nodes.

For further information about using the embedded listener, see HTTP listeners.

You cannot use an HTTPReply node to respond to a web service request that is received by a SOAPInput node; the integration node generates an exception when the reply is attempted.

If you have configured the integration server to use its embedded listener for HTTP nodes, you must deploy the flow that includes the HTTPReply node to the same integration server as the message flow that includes the HTTPInput node. If your integration node is configured to start the integration node listener to support HTTP nodes, you must deploy the reply flow to the same integration node, but the integration server is not significant, because the listener is shared.

The HTTPReply node constructs a reply message for the web service client from the entire input message tree, and returns it to the requester. If the message was initially received by an HTTPInput node in another message flow, the response is associated with the reply by a request identifier that is stored in the local environment of the message by the HTTPInput node.

The HTTPReply node is contained in the HTTP drawer of the palette, and is represented in the IBM Integration Toolkit by the following icon:

HTTPReply node icon

Connecting the output terminals to another node

Connect the Out or Failure terminal of this node to another node in this message flow if you want to process the message further, process errors, or send the message to an additional destination.

Terminals and properties

When you have put an instance of the HTTPReply node into a message flow, you can configure it; see Configuring a message flow node. The properties of the node are displayed in the Properties view. All mandatory properties for which you must enter a value (those that do not have a default value defined) are marked with an asterisk.

The HTTPReply node terminals are described in the following table.

Terminal Description
In The input terminal that accepts a message for processing by the node.
Failure The output terminal to which the message is routed if a failure is detected when the message is propagated.
Out The output terminal to which the message is routed if it has been propagated successfully, and if further processing is required in this message flow.

The following tables describe the node properties. The column headed M indicates whether the property is mandatory (marked with an asterisk if you must enter a value when no default is defined); the column headed C indicates whether the property is configurable (you can change the value when you add the message flow to the BAR file for deployment).

The HTTPReply node Description properties are described in the following table.

Property M C Default Description
Node name No No HTTPReply The name of the node.
Short description No No   A brief description of the node.
Long description No No   Text that describes the purpose of the node in the message flow.

The HTTPReply node Basic properties are described in the following table.

Property M C Default Description
Ignore transport failures Yes No Selected Select Ignore transport failures if you want transport-related failures to be ignored (for example, if the client is disconnected). If you clear the check box, and a transport-related error occurs, the input message is propagated to the Failure terminal. If you clear the check box, you must supply a value for Reply send timeout (sec).
Reply send timeout (sec) Yes No 120 Set the Reply send timeout (sec) value if you are not ignoring transport failures. This property specifies the length of time, in seconds, that the node waits for an acknowledgment that the client has received the reply. If the acknowledgment is received within this time, the input message is propagated through the Out terminal to the rest of the message flow, if it is connected. If an acknowledgment is not received within this time, the input message is propagated through the Failure terminal, if it is connected. If the Failure terminal is not connected, and an acknowledgment is not received in time, an exception is generated.

The valid range is zero (which means an indefinite wait) to (231)-1. This property is valid only if Ignore transport failures is cleared.

Generate default HTTP headers from reply or response Yes No Selected Select Generate default HTTP headers from reply or response if you want the default web service headers to be created using values from the HTTPReplyHeader or the HTTPResponseHeader. If the appropriate header is not present in the input message, default values are used.

The node always includes, in the HTTPReplyHeader, a Content-Length header, which is set to the correct calculated value, even if this header was not included in the original request.

The Validation properties of the HTTPReply node are described in the following table.

If a message is propagated to the Failure terminal of the node, it is not validated. For a full description of these properties, see Validation properties.

Property M C Default Description mqsiapplybaroverride command property
Validate No Yes Inherit This property controls whether validation takes place. Valid values are None, Content and Value, Content, and Inherit. validateMaster
Failure action No No Exception This property controls what happens if validation fails. You can set this property only if you set Validate to Content or Content and Value. Valid values are User Trace, Local Error Log, Exception, and Exception List.  
The Monitoring properties of the node are described in the following table.
Property M C Default Description
Events No No None Events that you have defined for the node are displayed on this tab. By default, no monitoring events are defined on any node in a message flow. Use Add, Edit, and Delete to create, change or delete monitoring events for the node; see Configuring monitoring event sources by using monitoring properties for details.

You can enable and disable events that are shown here by selecting or clearing the Enabled check box.