Inventory request processing
Overview
The NFM-P processes find requests synchronously. A findToFile request runs synchronously by default, but you can use the <synchronous> Boolean element to specify whether a findToFile request runs synchronously or asynchronously.
Synchronous requests
When the NFM-P receives multiple synchronous find or findToFile requests, up to five are processed concurrently. Subsequent synchronous requests are rejected with the following exception, which is sent in the HTTP response:
javax.xml.stream.XMLStreamException: The Inventory connections reached its maximum please retry later
Asynchronous findToFile requests
When the NFM-P receives multiple asynchronous findToFile requests, up to five are processed concurrently, and up to an additional ten requests are queued to be processed. If the NFM-P is currently servicing 15 asynchronous requests, further incoming requests are immediately rejected with the following exception:
Figure 13-8: Too many requests exception
<findToFileException xmlns="xmlapi_1.0"> |
<description>Cannot perform findToFile command, too many queued requests</description> |
</findToFileException> |
You can configure a timeout value for the OSS requests associated with an NFM-P user or user group. When a request times out, the NFM-P sends an exception in a fileAvailableEvent JMS notification. The notification includes a status element that contains FAILURE, as shown in the following figure:
Figure 13-9: OSS request timeout notification
<SOAP:Body> |
<jms xmlns="xmlapi_1.0"> |
<fileAvailableEvent> |
<requestID>XML_API_client@n</requestID> |
<fileName>asynchronous_request.xml</fileName> |
<status>FAILURE</status> |
<errorMessage>javax.xml.stream.XMLStreamException: The request timed out for waiting for a worker. XML API request id [:0:1] User Name [ossuser_10] File Name [asynchronous_request.xml]. Please retry later.</errorMessage> |
</fileAvailableEvent> |
</jms> |
</SOAP:Body> |
Mix of find and findToFile requests
When the NFM-P receives a combination of synchronous find, and synchronous or asynchronous findToFile requests, up to five requests are processed concurrently; subsequent synchronous or asynchronous requests are rejected with the following exception, which is sent in the HTTP response:
javax.xml.stream.XMLStreamException: The Inventory connections reached its maximum please retry later