> but the server response is not being recorded to the
table BEFORE the next record is submitted to the CFHTTP.
I understand that is what _appears_ to be happening, but from
what you have described it does not sound like you have actually
debugged / logged the timing and chain of events to substantiate
this.
1. Log time cfhttp call starts
2. Log time and response from cfhttp call
3. Log time before cfquery starts
4. Log time and cfquery "results" after cfquery tag
While it may still be related to cfhttp, what you are
describing sounds very "off". So I would be looking at a simpler
causes first.
As I understand it, cfhttp calls are synchronous. So my
expectation would be that if the cfhttp did not have time to finish
processing, the cffhtp.fileContent would indicate a timeout error.
The database query would still execute within each loop. But the
variables used (trans, transid, etcetera) might not be set with the
correct values. So while the UPDATE would still occur, the column
values might be set to empty strings. That is different than saying
the response is not being recorded in the database after each call.
Something is being recorded, it is just not the correct
information. Again, that would be my _expectation_. It would need
to proven or disproven with some basic debugging and logging.
(BTW, I am assuming you did not post the full CFIF code above
and actually have other conditions to handle cases where an invalid
or missing reponse #code# was detected. Otherwise, CF would
probably throw an exception anytime something unexpected happened
with cfhttp call or response)
But as mentioned before, you can always add a simple
thread.sleep() call to your code and see what happens..
http://www.anujgakhar.com/2008/01/23/different-ways-of-making-a-thread-sleep/