One thing that needs to be watched out is 3MB size limit of your response .Since your response is 1000 records i dont think there will be any issue with REST or SOAP.
The Number of rows that can be inserted in a single call is 10000.Hence 1000 should not be a problem if you are using HTTP callouts and inserting records .
If REST services are available making a callout will be ideal and if WSDL available and you are able to parse in sfdc without any issues that might be also a good approach.
The thing that needs to be watched is the recording to number of failures and success and you can use Database.SaveResult object to find out what failed and what got inserted into system.
Using Database.insert with optional parameter true can be good approach to allow the insert even if one record fails .