pub.publish:waitForReply
WmPublic. Retrieves the reply for an asynchronous request. If a reply is not available,
Integration Server continues to wait for the document until the time specified in the
waitTime parameter of the
pub.publish:deliverAndWait service or
pub.publish:publishAndWait service elapses.
Input Parameters
tag | String A unique identifier for the publish request for which you are retrieving a reply. Integration Server uses the tag value to match the request document with its corresponding reply document. |
Output Parameters
receivedDocument | Document Document (IData object) received as the reply to the request. If the request expires (that is, the waitTime elapses) before Integration Server receives the reply document, the receivedDocument field contains a null document. Important: Integration Server treats all reply documents as volatile documents. If Integration Server shuts down before processing the reply document, the reply document is lost. |
Usage Notes
The waitTime value of the publishing service specifies how long Integration Server will keep the request open while waiting for a reply. When building an asynchronous request/reply service, keep the following information about the waitTime in mind:
If the
waitTime interval elapses before the
pub.publish:waitForReply service executes, the service immediately returns a null document which indicates that the wait time has expired.
If
Integration Server has not received the reply when the
pub.publish:waitForReply service executes, the service waits the remainder of the
waitTime interval. If
Integration Server does not receive a reply by the time the
waitTime interval elapses, the request completes. The service returns a null document which indicates that the wait time has expired.
If the reply document arrives after the
waitTime interval elapses,
Integration Server rejects the document because the request is closed.
A single publish and wait request might receive many response documents. The
Integration Server that made the publish and wait request uses only the first reply document it receives.
Integration Server discards all other replies.
First is arbitrarily defined. There is no guarantee provided for the order in which the messaging provider processes incoming replies. If you need a reply document from a specific recipient, use the
pub.publish:deliverAndWait service instead.
For more information about building an asynchronous request/reply service, see the Publish-Subscribe Developer’s Guide.
See Also