I looked at the code in the virtual machine and we appear to be passing along the response code that we receive.
I believe the issue is related to the fact that image requests are redirected out to our image service for processing to avoid the need to transfer the original raw image over BLE and then do the conversion on a memory constrained embedded platform.
My guess is that the web server hosting the image returns a response code other than 200, and the image service is generating a 404. I have zero knowledge about any of the inner workings of that service other than the actual image processing, so this is all just conjecture. We'll look into it.
So I understand, you are dynamically building the image? Is that only when the image is requested, or are you doing it continually. Maybe build the image on a time driven basis, like every minute?
Or use makeWebRequest to tell the server to prep the image and then use makeImageReqest to get the image?
I've a stream transfer to avoid keeping on server anything from user request (maybe somebody will put sensitive information).
2 stages don't solve also problem because the same bug will appear in ... 2nd step, when taking file from server
If you can't do thing good don't do it at all :-) User will see always 400, pity but it's not my bug nobody has given me a chance to write the very good app, but maybe somebody will see this report and will fix it.