I’m trying to send small files to computer mailboxes using REST API (ie. POST /api/mailbox/{computer_id}). The files are pretty small about 8kB each and I’m sending them in the batch. The problem is that BigFix server responds with confirmation ie. return code is 200 and the XML I get back looks like:
<BESAPI xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="BESAPI.xsd">
<ComputerMailboxFile Resource="https://mybigfixserver/api/mailbox/{computer_id}/9759">
<Name>small_file.tar.gz</Name>
<ID>9759</ID>
<SHA1>aea6e652cb81ee4fa99a08ff130fb917440c16bf</SHA1>
<Size>8462</Size>
<Timestamp>Fri, 16 Sep 2022 14:33:37 +0000</Timestamp>
</ComputerMailboxFile></BESAPI>
so I would expect that this really means that the server received the file for the mailbox but then when I try to check the mailbox on that computer I see that there is nothing and I have to re-run the batch two or three times to be sure the files are REALLY delivered. I have tried to put some timeout between the requests just to make sure the server is able to cope with the batch of requests and it seems that it has some impact but still it is not 100% proof even when I set just 4 requests per minute.
Can anyone bring some insight into this? Why the heck is BigFix server sending successful response when it does not actually create resource at all?!
So far my only workaround is to run few iterations and check if the resource for the computer was really created using REST API and if not add it to next batch and run it again till everything is created.