Connect the HTTP Timeout terminal of the HTTPInput or SOAPInput nodes to further nodes to process timeouts.
You can configure message flows that start with an HTTPInput or SOAPInput node by connecting the HTTP Timeout terminal to further nodes for processing timeouts:
If these conditions are not met when you deploy the BAR file for the message flow that includes one of these nodes, a warning is generated, and the path of the message flow that you have connected to the HTTP Timeout terminal is ignored. No further warnings are generated until the next restart.
To set a static timeout value in an input node:
If this time expires, and you have not connected one or more nodes to the HTTP Timeout terminal, the listener that received the client request message responds with a SOAP Fault message indicating that a timeout has occurred.
To set a dynamic timeout value in an input node:
MbMessage localEnv = assembly.getLocalEnvironment();
MbElement rootElem = localEnv.getRootElement();
MbElement repIdElement = rootElem.getFirstElementByPath(
"/Destination/SOAP/Reply/ReplyIdentifier");
Object repId = repIdElement.getValue();
boolean success = changeIdentifierTimeout((byte[])repId, timeout);
By propagating from the HTTP Timeout terminal you can then change the contents of the responses that your message flow sends to the client. The processing on the sequence of nodes that you connect to the HTTP Timeout terminal is also subject to a further timeout, so that the client always gets a response within a known timeout interval.
(0x01000000:Name):HTTP = (
(0x01000000:Name):Input = (
(0x01000000:Name):Timeout = (
(0x03000000:NameValue):OriginalClientLastWaitTime = 10 (INTEGER)
(0x03000000:NameValue):OriginalClientWaitTime = 15 (INTEGER)
(0x03000000:NameValue):OriginalMessageMadeTheFlow = TRUE (BOOLEAN)
(0x03000000:NameValue):OriginalRequestIdentifier =
X'48545450000000000000000000000000c00c000000000000' (BLOB)
(0x03000000:NameValue):OriginalInboundMessage = X'3c3e' (BLOB)
)
)
)
For SOAPInput nodes the SOAPReply node connected on the HTTP Timeout terminal path must send a SOAP fault response message and the reply status code of 500 cannot be altered. For HTTPInput nodes any response message can be sent from the HTTP Timeout terminal and the reply status code can be changed by updating the LocalEnvironment.Destination.HTTP.ReplyStatusCode message tree field.