This is probably not the answer that you are looking for but the way that I get the field names is by sending a request for one particular record. Once you get a response, you can go through and sort the field names. You can then use those names to send data. We handle a number of sub-accounts that were created at different times and I have found that there's always slight difference even in the standard field names. Hope this helps.