Use the HTTPReply node to return a response from the message flow to the Web service client. This node generates the response to the Web service client from which the input message was received by the HTTPInput node, and waits for confirmation that it has been sent.
This topic contains the following sections:
The HTTPReply node can be used in any message flow that needs to accept HTTP or HTTPS messages. The most common example of this is a message flow that implements a Web service.
For more information about Web service applications, see Working with Web service applications.
If you include an HTTPReply node in a message flow, you must either include an HTTPInput node in the same flow, or the message must be received from another flow that is running in the same broker, and that started with an HTTPInput node. The response is associated with the reply by a request identifier that is stored in LocalEnvironment by the HTTPInput node.
This node constructs a reply message for the Web service client from the entire input message tree, and returns it to the requester.
The HTTPReply node is contained in the HTTP drawer of the palette, and is represented in the workbench by the following icon:
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.
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. To display the properties of the node in the Properties dialog, either double-click the node, or right-click the node and click Properties. 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 within 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 to deploy it).
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 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 |
---|---|---|---|---|
Validate | No | Yes | Inherit | This property controls whether validation takes place. Valid values are None, Content and Value, Content, and Inherit. |
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. |
Include all value constraints | No | No | Selected | This property cannot be edited. The default action, indicated by the check box being selected, is that basic value constraint checks are included in Content and Value validation. |
Fix | No | No | None | This property cannot be edited. |