I'm considering using the commerce service api for importing catalog entries from external system. As I read the documentation, I need to post a Xml file to the service URL and it wil process it.
This method raises two questions which I have been unable to find an answer for on the website.
1. What happens if one element in the file fails? Will it leave them out and commit the ones that are not errornous? Or is it a all-or-nothing aproach? If an error occurs, how is it reported?
2. When importing a lot of catalog entries using the code API, it blocks the IIS thread making the site non responsive. Will the Service API do the same thing?
1. Yes, the import process will stop on first error, but no roll-back. It'll be the same as you import from Commerce manager.
2. Service API or Commerce manager use asynchonous approach, so it won't block your thread. You can of course make your code to be async, too.
Thanks for your answers. Regarding question 1, if the process fails will it throw exceptions or how will the error be reported?
Also, how is performence on updating many catalog entries? - We're having trouble with too long running tasks using the code API - Which also is generating deadlocks in the database.
1 - exception will be thrown.
2 - It's hard to say, because it depends on a lot of thing, like how "many" entries, the complexity of entries, the hardware ... For our test machine it takes about 15 minutes to import 6600 entries. To make sure what cause the deadlock you might need to use profilers, such as SQL Profiler. For my part I would say the performance is "good enough"